1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-21 18:32:37 +00:00

Modify pulic home and groups

This commit is contained in:
xiez 2012-09-21 19:57:11 +08:00
parent bde9b0fc3b
commit 25e18f7413
4 changed files with 54 additions and 91 deletions

View File

@ -8,7 +8,7 @@
</li>
{% if not request.cloud_mode %}
<li>
<a href="{% url 'public_home' %}" {% block nav_publichome_class %}{% endblock %}>公共页面</a>
<a href="{% url 'public_home' %}" {% block nav_publichome_class %}{% endblock %}>公共资料</a>
</li>
{% endif %}
{% if business_mode %}
@ -20,7 +20,7 @@
</li>
{% else %}
<li>
<a href="{{ SITE_ROOT }}groups/" {% block nav_group_class %}{% endblock %}>小组</a>
<a href="{{ SITE_ROOT }}groups/" {% block nav_group_class %}{% endblock %}>协作小组</a>
</li>
{% endif %}
<li>

View File

@ -56,52 +56,6 @@
{% endfor %}
</table>
{% endif %}
<!-- 信息栏 -->
<div id="group-reply">
<h3>信息栏</h3>
<form id="innerpub-msg-form" action="" method="post">
<textarea name="message" id="message">{{ form.data.message }}</textarea><br />
{% for error in form.message.errors %}
<p class="error">{{ error|escape }}</p>
{% endfor %}
<input type="submit" value="提交" class="submit" />
</form>
</div>
{% if innerpub_msgs %}
<ul class="msg-list">
{% for msg in innerpub_msgs %}
<li class="msg w100 ovhd">
<div class="pic fleft">
<a href="{{ SITE_ROOT }}profile/{{ msg.from_email }}/">{% avatar msg.from_email 48 %}</a>
</div>
<div class="txt fright">
<div class="msg-hd">
<span class="time">{{ msg.timestamp|translate_commit_time }}</span>
<a href="{{ SITE_ROOT }}profile/{{ msg.from_email }}/" title="{{ msg.from_email }}">{{ msg.from_email|email2nickname }}</a>
</div>
<div class="msg-bd">
<p>
{{ msg.message|seahub_urlize|find_at|linebreaksbr }}
</p>
<button class="reply op" data="{% url 'innerpub_msg_reply' msg.id %}"><span class="reply-cnt">{% if msg.reply_cnt != 0 %}{{ msg.reply_cnt }} {% endif %}</span>回复</button>
<button class="replyclose op hide">收起回复</button>
<div class="reply-bd"></div>
</div>
</div>
</li>
{% endfor %}
</ul>
{% endif %}
<div id="paginator">
{% if current_page != 1 %}
<a href="{{ SITE_ROOT }}group/{{ group.id}}/?page={{ prev_page }}&per_page={{ per_page }}">上一页</a>
{% endif %}
{% if page_next %}
<a href="{{ SITE_ROOT }}group/{{ group.id }}/?page={{ next_page }}&per_page={{ per_page }}">下一页</a>
{% endif %}
</div>
<!-- /信息栏 -->
</div>
<!-- /.main -->
{% include "snippets/repo_share_form.html" %}
@ -118,7 +72,5 @@
{% with post_url=repo_create_url %}
{% include "snippets/repo_create_js.html" %}
{% endwith %}
{% include 'group/msg_reply_js.html' %}
</script>
{% endblock %}

15
urls.py
View File

@ -27,7 +27,6 @@ urlpatterns = patterns('',
(r'^$', root),
#url(r'^home/$', direct_to_template, { 'template': 'home.html' } ),
url(r'^home/my/$', myhome, name='myhome'),
url(r'^home/public/$', public_home, name='public_home'),
url(r'^home/public/reply/(?P<msg_id>[\d]+)/$', innerpub_msg_reply, name='innerpub_msg_reply'),
url(r'^home/public/reply/new/$', innerpub_msg_reply_new, name='innerpub_msg_reply_new'),
url(r'^home/owner/(?P<owner_name>[^/]+)/$', ownerhome, name='ownerhome'),
@ -92,7 +91,6 @@ urlpatterns = patterns('',
url(r'^groups/', GroupListView.as_view(), name='group_list'),
url(r'^deptgroups/', DeptGroupListView.as_view(), name='dept_group_list'),
url(r'^projgroups/', ProjGroupListView.as_view(), name='proj_group_list'),
(r'^organizations/', include('seahub.organizations.urls')),
(r'^profile/', include('seahub.profile.urls')),
### SeaHub admin ###
@ -109,3 +107,16 @@ if settings.DEBUG:
(r'^%s/(?P<path>.*)$' % (media_url), 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)
try:
from settings import CLOUD_MODE
except ImportError:
CLOUD_MODE = False
if CLOUD_MODE:
urlpatterns += patterns('',
(r'^organizations/', include('seahub.organizations.urls')),
)
else:
urlpatterns += patterns('',
url(r'^home/public/$', public_home, name='public_home'),
)

View File

@ -763,58 +763,58 @@ def public_home(request):
"""
Show public home page when CLOUD_MODE is False.
"""
if request.method == 'POST':
form = MessageForm(request.POST)
# if request.method == 'POST':
# form = MessageForm(request.POST)
if form.is_valid():
msg = InnerPubMsg()
msg.from_email = request.user.username
msg.message = form.cleaned_data['message']
msg.save()
# if form.is_valid():
# msg = InnerPubMsg()
# msg.from_email = request.user.username
# msg.message = form.cleaned_data['message']
# msg.save()
return HttpResponseRedirect(reverse('public_home'))
else:
form = MessageForm()
# return HttpResponseRedirect(reverse('public_home'))
# else:
# form = MessageForm()
users = get_emailusers(-1, -1)
public_repos = list_inner_pub_repos()
"""inner pub messages"""
# Make sure page request is an int. If not, deliver first page.
try:
current_page = int(request.GET.get('page', '1'))
per_page= int(request.GET.get('per_page', '15'))
except ValueError:
current_page = 1
per_page = 15
# """inner pub messages"""
# # Make sure page request is an int. If not, deliver first page.
# try:
# current_page = int(request.GET.get('page', '1'))
# per_page= int(request.GET.get('per_page', '15'))
# except ValueError:
# current_page = 1
# per_page = 15
msgs_plus_one = InnerPubMsg.objects.all()[per_page*(current_page-1) :
per_page*current_page+1]
if len(msgs_plus_one) == per_page + 1:
page_next = True
else:
page_next = False
innerpub_msgs = msgs_plus_one[:per_page]
# msgs_plus_one = InnerPubMsg.objects.all()[per_page*(current_page-1) :
# per_page*current_page+1]
# if len(msgs_plus_one) == per_page + 1:
# page_next = True
# else:
# page_next = False
# innerpub_msgs = msgs_plus_one[:per_page]
msg_replies = InnerPubMsgReply.objects.filter(reply_to__in=innerpub_msgs)
reply_to_list = [ r.reply_to_id for r in msg_replies ]
for msg in innerpub_msgs:
msg.reply_cnt = reply_to_list.count(msg.id)
# msg_replies = InnerPubMsgReply.objects.filter(reply_to__in=innerpub_msgs)
# reply_to_list = [ r.reply_to_id for r in msg_replies ]
# for msg in innerpub_msgs:
# msg.reply_cnt = reply_to_list.count(msg.id)
# remove user notifications
UserNotification.objects.filter(to_user=request.user.username,
msg_type='innerpub_msg').delete()
# # remove user notifications
# UserNotification.objects.filter(to_user=request.user.username,
# msg_type='innerpub_msg').delete()
return render_to_response('public_home.html', {
'users': users,
'public_repos': public_repos,
'form': form,
'innerpub_msgs': innerpub_msgs,
'current_page': current_page,
'prev_page': current_page-1,
'next_page': current_page+1,
'per_page': per_page,
'page_next': page_next,
# 'form': form,
# 'innerpub_msgs': innerpub_msgs,
# 'current_page': current_page,
# 'prev_page': current_page-1,
# 'next_page': current_page+1,
# 'per_page': per_page,
# 'page_next': page_next,
}, context_instance=RequestContext(request))
@login_required