mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-20 19:08:21 +00:00
Use email in profile url, and clean code
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
{% for contact in contacts %}
|
||||
<tr>
|
||||
<td>{% avatar contact.contact_email 20 %}</td>
|
||||
<td><a href="{% url 'user_profile' contact.contact_email|id_or_email%}">{{ contact.contact_email }}</a></td>
|
||||
<td><a href="{% url 'user_profile' contact.contact_email %}">{{ contact.contact_email }}</a></td>
|
||||
<td>{{ contact.profile.nickname }}</td>
|
||||
<td>{{ contact.note }}</td>
|
||||
<td data-email="{{ contact.contact_email }}" data-name="{{ contact.contact_name }}" data-note="{{ contact.note }}">
|
||||
|
@@ -4,10 +4,10 @@
|
||||
{# for file/dir 'discuss to grp' #}
|
||||
{% for msg in messages %}
|
||||
<li class="msg ovhd" data-id="{{msg.id}}">
|
||||
<a class="pic fleft" href="{% url 'user_profile' msg.from_email|id_or_email %}">{% avatar msg.from_email 48 %}</a>
|
||||
<a class="pic fleft" href="{% url 'user_profile' msg.from_email %}">{% avatar msg.from_email 48 %}</a>
|
||||
<div class="txt">
|
||||
<div class="msg-main">
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}">{{ msg.from_email|email2nickname }}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}">{{ msg.from_email|email2nickname }}</a>
|
||||
<span class="time">{{ msg.timestamp|translate_seahub_time }}</span>
|
||||
<p class="msg-con">{{ msg.message|seahub_urlize|find_at|linebreaksbr }}</p>
|
||||
<span class="say"></span>
|
||||
@@ -23,7 +23,7 @@
|
||||
<ul class="reply-list">
|
||||
{% for r in msg.replies %}
|
||||
<li class="reply w100 ovhd">
|
||||
{% with id=r.from_email|id_or_email name=r.from_email|email2nickname %}
|
||||
{% with id=r.from_email name=r.from_email|email2nickname %}
|
||||
<a href="{% url 'user_profile' id %}" class="pic fleft">{% avatar r.from_email 28 %}</a>
|
||||
<div class="txt">
|
||||
<a href="{% url 'user_profile' id %}">{{ name }}</a>
|
||||
|
@@ -37,14 +37,14 @@
|
||||
<ul class="msg-list">
|
||||
{% for msg in group_msgs.object_list %}
|
||||
<li class="msg w100 ovhd" data-id="{{msg.id}}">
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}" class="pic fleft">{% avatar msg.from_email 48 %}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}" class="pic fleft">{% avatar msg.from_email 48 %}</a>
|
||||
<div class="txt">
|
||||
<div class="msg-main">
|
||||
<div class="msg-hd w100 ovhd">
|
||||
{% if is_staff or msg.from_email == request.user.username %}
|
||||
<span class="msg-del op fright vh">{% trans "Delete" %}</span>
|
||||
{% endif %}
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}" class="author">{{ msg.from_email|email2nickname }}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}" class="author">{{ msg.from_email|email2nickname }}</a>
|
||||
<span class="time">{{ msg.timestamp|translate_seahub_time }}</span>
|
||||
</div>
|
||||
<p class="msg-con">{{ msg.message|seahub_urlize|find_at|linebreaksbr }}</p>
|
||||
@@ -92,7 +92,7 @@
|
||||
<ul class="reply-list">
|
||||
{% for r in msg.replies %}
|
||||
<li class="reply w100 ovhd">
|
||||
{% with id=r.from_email|id_or_email name=r.from_email|email2nickname %}
|
||||
{% with id=r.from_email name=r.from_email|email2nickname %}
|
||||
<a href="{% url 'user_profile' id %}" class="pic fleft">{% avatar r.from_email 28 %}</a>
|
||||
<div class="txt">
|
||||
<a href="{% url 'user_profile' id %}">{{ name }}</a>
|
||||
@@ -145,12 +145,12 @@
|
||||
{% if request.user.is_authenticated %}
|
||||
<ul class="new-msg-list hide">
|
||||
<li class="msg w100 ovhd hide">
|
||||
<a href="{% url 'user_profile' request.user.username|id_or_email %}" class="pic fleft">{% avatar request.user.username 48 %}</a>
|
||||
<a href="{% url 'user_profile' request.user.username %}" class="pic fleft">{% avatar request.user.username 48 %}</a>
|
||||
<div class="txt">
|
||||
<div class="msg-main">
|
||||
<div class="msg-hd w100 ovhd">
|
||||
<span class="msg-del op fright vh">{% trans "Delete" %}</span>
|
||||
<a href="{% url 'user_profile' request.user.username|id_or_email %}" class="author">{{ request.user.username|email2nickname }}</a>
|
||||
<a href="{% url 'user_profile' request.user.username %}" class="author">{{ request.user.username|email2nickname }}</a>
|
||||
<span class="time">{% trans "Just now" %}</span>
|
||||
</div>
|
||||
<span class="say"></span>
|
||||
|
@@ -12,7 +12,7 @@
|
||||
</div>
|
||||
<ul class="user-list">
|
||||
{% for m in members %}
|
||||
{% with e=m.user_name id=m.user_name|id_or_email %}
|
||||
{% with e=m.user_name id=m.user_name %}
|
||||
<li class="user ovhd">
|
||||
<a href="{% url 'user_profile' id %}" class="pic fleft">{% avatar e 48 %}</a>
|
||||
<div class="txt fright">
|
||||
|
@@ -2,7 +2,7 @@
|
||||
{% load url from future %}
|
||||
|
||||
{% for r in replies %}
|
||||
{% with id=r.from_email|id_or_email name=r.from_email|email2nickname %}
|
||||
{% with id=r.from_email name=r.from_email|email2nickname %}
|
||||
<li class="reply w100 ovhd">
|
||||
<a href="{% url 'user_profile' id %}" class="pic fleft">{% avatar r.from_email 28 %}</a>
|
||||
<div class="txt">
|
||||
|
@@ -8,12 +8,12 @@
|
||||
{% for msg in group_msgs %}
|
||||
<li class="msg w100 ovhd" data-id="{{msg.id}}">
|
||||
<div class="pic fleft">
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}">{% avatar msg.from_email 48 %}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}">{% avatar msg.from_email 48 %}</a>
|
||||
</div>
|
||||
<div class="txt">
|
||||
<div class="msg-main">
|
||||
<div class="msg-hd">
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}" title="{{msg.from_email|id_or_email}}" class="author">{{ msg.from_email|email2nickname }}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}" title="{{msg.from_email}}" class="author">{{ msg.from_email|email2nickname }}</a>
|
||||
<span class="time">{{ msg.timestamp|translate_seahub_time }}</span>
|
||||
<span class="group">{% trans "Group: " %}<a href="{% url 'group_info' msg.group_id %}">{{ msg.group_name }}</a></span>
|
||||
</div>
|
||||
@@ -51,9 +51,9 @@
|
||||
<ul class="reply-list">
|
||||
{% for r in msg.replies %}
|
||||
<li class="reply w100 ovhd">
|
||||
<a href="{% url 'user_profile' r.from_email|id_or_email %}" class="pic fleft">{% avatar r.from_email 28 %}</a>
|
||||
<a href="{% url 'user_profile' r.from_email %}" class="pic fleft">{% avatar r.from_email 28 %}</a>
|
||||
<div class="txt">
|
||||
<a href="{% url 'user_profile' r.from_email|id_or_email %}">{{ r.from_email|email2nickname }}</a>
|
||||
<a href="{% url 'user_profile' r.from_email %}">{{ r.from_email|email2nickname }}</a>
|
||||
<span class="time">{{ r.timestamp|translate_seahub_time }}</span>
|
||||
<span class="reply-at op vh" data="{{ r.from_email|email2nickname }}">{% trans 'Reply' %}</span>
|
||||
<p class="reply-con">{{ r.message|seahub_urlize|find_at|linebreaksbr }}</p>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
{% for key,value in msgs %}
|
||||
{% with not_read=value.not_read %}
|
||||
<tr data-href="{% url 'user_msg_list' key|id_or_email %}" class="{% if not_read > 0 %}bold{% endif %}">
|
||||
<tr data-href="{% url 'user_msg_list' key %}" class="{% if not_read > 0 %}bold{% endif %}">
|
||||
<td class="alc">{% avatar key 20 %}</td>
|
||||
<td>{{ key|email2nickname }}{% if not_read > 0%}({{not_read}}){% endif %}</td>
|
||||
<td>{{ value.last_msg|seahub_urlize|truncatewords_html:12 }}</td>
|
||||
|
@@ -26,7 +26,7 @@
|
||||
{% if msgs %}
|
||||
{% for key,value in msgs %}
|
||||
{% with not_read=value.not_read %}
|
||||
<tr data-href="{% url 'user_msg_list' key|id_or_email %}" class="{% if not_read > 0 %}bold{% endif %}">
|
||||
<tr data-href="{% url 'user_msg_list' key %}" class="{% if not_read > 0 %}bold{% endif %}">
|
||||
<td class="alc">{% avatar key 20 %}</td>
|
||||
<td>{{ key|email2nickname }}{% if not_read > 0%}({{not_read}}){% endif %}</td>
|
||||
<td>{{ value.last_msg|seahub_urlize|truncatewords_html:12 }}</td>
|
||||
|
@@ -1,12 +1,12 @@
|
||||
{% load seahub_tags avatar_tags i18n %}
|
||||
|
||||
<li class="msg w100 hide" data-id="{{msg.message_id}}">
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}" class="pic fleft">{% avatar msg.from_email 48 %}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}" class="pic fleft">{% avatar msg.from_email 48 %}</a>
|
||||
<div class="txt">
|
||||
<div class="msg-main">
|
||||
<div class="msg-hd w100 ovhd">
|
||||
<span class="msg-del op fright vh">{% trans "Delete" %}</span>
|
||||
<a class="author" href="{% url 'user_profile' msg.from_email|id_or_email %}">{{ msg.from_email|email2nickname }}</a>
|
||||
<a class="author" href="{% url 'user_profile' msg.from_email %}">{{ msg.from_email|email2nickname }}</a>
|
||||
<span class="time">{{ msg.timestamp|translate_seahub_time }}</span>
|
||||
</div>
|
||||
<p class="msg-con">{{ msg.message|seahub_urlize|find_at|linebreaksbr }}</p>
|
||||
|
@@ -40,10 +40,10 @@
|
||||
{% for msg in person_msgs.object_list %}
|
||||
{% if msg.to_email == request.user.email %}
|
||||
<li class="msg msg-received w100" data-id="{{msg.message_id}}">
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}" class="pic fright">{% avatar msg.from_email 48 %}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}" class="pic fright">{% avatar msg.from_email 48 %}</a>
|
||||
{% else %}
|
||||
<li class="msg msg-send w100" data-id="{{msg.message_id}}">
|
||||
<a href="{% url 'user_profile' msg.from_email|id_or_email %}" class="pic fleft">{% avatar msg.from_email 48 %}</a>
|
||||
<a href="{% url 'user_profile' msg.from_email %}" class="pic fleft">{% avatar msg.from_email 48 %}</a>
|
||||
{% endif %}
|
||||
<div class="txt">
|
||||
<div class="msg-main">
|
||||
@@ -53,7 +53,7 @@
|
||||
{% else %}
|
||||
<span class="re-msg-del op fright vh">{% trans "Delete" %}</span>
|
||||
{% endif %}
|
||||
<a class="author" href="{% url 'user_profile' msg.from_email|id_or_email %}">{{ msg.from_email|email2nickname }}</a>
|
||||
<a class="author" href="{% url 'user_profile' msg.from_email %}">{{ msg.from_email|email2nickname }}</a>
|
||||
<span class="time">{{ msg.timestamp|translate_seahub_time }}</span>
|
||||
</div>
|
||||
<p class="msg-con">{{ msg.message|seahub_urlize|find_at|linebreaksbr }}</p>
|
||||
|
@@ -7,6 +7,6 @@ urlpatterns = patterns('seahub.profile.views',
|
||||
url(r'^delete/$', 'delete_user_account', name="delete_user_account"),
|
||||
url(r'^default-repo/$', 'default_repo', name="default_repo"),
|
||||
|
||||
url(r'^(?P<username_or_id>[^/]+)/$', 'user_profile', name="user_profile"),
|
||||
url(r'^(?P<username>[^/]+)/$', 'user_profile', name="user_profile"),
|
||||
# url(r'^logout/$', 'logout_relay', name="logout_relay"),
|
||||
)
|
||||
|
@@ -83,20 +83,11 @@ def edit_profile(request):
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
@login_required
|
||||
def user_profile(request, username_or_id):
|
||||
# fetch the user by username or id, try id first
|
||||
user = None
|
||||
def user_profile(request, username):
|
||||
try:
|
||||
user_id = int(username_or_id)
|
||||
try:
|
||||
user = User.objects.get(id=user_id)
|
||||
except:
|
||||
pass
|
||||
except ValueError:
|
||||
try:
|
||||
user = User.objects.get(email=username_or_id)
|
||||
user = User.objects.get(email=username)
|
||||
except User.DoesNotExist:
|
||||
pass
|
||||
user = None
|
||||
|
||||
nickname = '' if user is None else email2nickname(user.username)
|
||||
|
||||
@@ -110,7 +101,6 @@ def user_profile(request, username_or_id):
|
||||
d_profile = None
|
||||
|
||||
return render_to_response('profile/user_profile.html', {
|
||||
'username_or_id': username_or_id,
|
||||
'user': user,
|
||||
'nickname': nickname,
|
||||
'intro': intro,
|
||||
|
@@ -21,8 +21,8 @@
|
||||
{% block right_panel %}
|
||||
<div class="tabnav">
|
||||
<ul class="tabnav-tabs">
|
||||
<li class="tabnav-tab"><a href="{% url 'user_msg_list' to_email|id_or_email %}">{% trans "Messages" %}</a></li>
|
||||
<li class="tabnav-tab tabnav-tab-cur"><a href="{% url 'user_share_list' to_email|id_or_email %}">{% trans "Shares" %}</a></li>
|
||||
<li class="tabnav-tab"><a href="{% url 'user_msg_list' to_email %}">{% trans "Messages" %}</a></li>
|
||||
<li class="tabnav-tab tabnav-tab-cur"><a href="{% url 'user_share_list' to_email %}">{% trans "Shares" %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@@ -1179,44 +1179,44 @@ def save_private_file_share(request, token):
|
||||
next = SITE_ROOT
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
@login_required
|
||||
def user_share_list(request, id_or_email):
|
||||
"""List sharing repos with ``to_email``.
|
||||
"""
|
||||
try:
|
||||
uid = int(id_or_email)
|
||||
try:
|
||||
user = User.objects.get(id=uid)
|
||||
except User.DoesNotExist:
|
||||
user = None
|
||||
if not user:
|
||||
return render_to_response("user_404.html", {},
|
||||
context_instance=RequestContext(request))
|
||||
to_email = user.email
|
||||
except ValueError:
|
||||
to_email = id_or_email
|
||||
# @login_required
|
||||
# def user_share_list(request, id_or_email):
|
||||
# """List sharing repos with ``to_email``.
|
||||
# """
|
||||
# try:
|
||||
# uid = int(id_or_email)
|
||||
# try:
|
||||
# user = User.objects.get(id=uid)
|
||||
# except User.DoesNotExist:
|
||||
# user = None
|
||||
# if not user:
|
||||
# return render_to_response("user_404.html", {},
|
||||
# context_instance=RequestContext(request))
|
||||
# to_email = user.email
|
||||
# except ValueError:
|
||||
# to_email = id_or_email
|
||||
|
||||
share_list = []
|
||||
username = request.user.username
|
||||
share_in = seafile_api.get_share_in_repo_list(username, -1, -1)
|
||||
for e in share_in:
|
||||
if e.share_type == 'personal' and e.user == to_email:
|
||||
e.share_in = True
|
||||
share_list.append(e)
|
||||
share_out = seafile_api.get_share_out_repo_list(username, -1, -1)
|
||||
for e in share_out:
|
||||
if e.share_type == 'personal' and e.user == to_email:
|
||||
e.share_out = True
|
||||
share_list.append(e)
|
||||
# share_list = []
|
||||
# username = request.user.username
|
||||
# share_in = seafile_api.get_share_in_repo_list(username, -1, -1)
|
||||
# for e in share_in:
|
||||
# if e.share_type == 'personal' and e.user == to_email:
|
||||
# e.share_in = True
|
||||
# share_list.append(e)
|
||||
# share_out = seafile_api.get_share_out_repo_list(username, -1, -1)
|
||||
# for e in share_out:
|
||||
# if e.share_type == 'personal' and e.user == to_email:
|
||||
# e.share_out = True
|
||||
# share_list.append(e)
|
||||
|
||||
c = Contact.objects.get_contact_by_user(username, to_email)
|
||||
add_to_contacts = True if c is None else False
|
||||
# c = Contact.objects.get_contact_by_user(username, to_email)
|
||||
# add_to_contacts = True if c is None else False
|
||||
|
||||
return render_to_response('share/user_share_list.html', {
|
||||
'to_email': to_email,
|
||||
'share_list': share_list,
|
||||
'add_to_contacts': add_to_contacts,
|
||||
}, context_instance=RequestContext(request))
|
||||
# return render_to_response('share/user_share_list.html', {
|
||||
# 'to_email': to_email,
|
||||
# 'share_list': share_list,
|
||||
# 'add_to_contacts': add_to_contacts,
|
||||
# }, context_instance=RequestContext(request))
|
||||
|
||||
@login_required_ajax
|
||||
def get_shared_upload_link(request):
|
||||
|
@@ -43,7 +43,7 @@
|
||||
{% if commit.creator_name %}
|
||||
<td>
|
||||
{% avatar commit.creator_name 16 %}
|
||||
<a href="{% url 'user_profile' commit.creator_name|id_or_email %}" class="vam">{{ commit.creator_name|email2nickname }}</a>
|
||||
<a href="{% url 'user_profile' commit.creator_name %}" class="vam">{{ commit.creator_name|email2nickname }}</a>
|
||||
</td>
|
||||
{% else %}
|
||||
<td>{% trans 'Unknown' %}</td>
|
||||
|
@@ -29,7 +29,7 @@
|
||||
{% if users %}
|
||||
<ul class="user-list">
|
||||
{% for u in users %}
|
||||
{% with e=u.email id=u.email|id_or_email %}
|
||||
{% with e=u.email id=u.email %}
|
||||
<li class="user ovhd">
|
||||
<a href="{% url 'user_profile' id %}" class="pic fleft">{% avatar e 48 %}</a>
|
||||
<div class="txt fright">
|
||||
|
@@ -34,7 +34,7 @@
|
||||
{% if commit.creator_name %}
|
||||
{% if not commit.second_parent_id %}
|
||||
{% avatar commit.creator_name 16 %}
|
||||
<a href="{% url 'user_profile' commit.creator_name|id_or_email %}" class="vam">{{ commit.creator_name|email2nickname }}</a>
|
||||
<a href="{% url 'user_profile' commit.creator_name %}" class="vam">{{ commit.creator_name|email2nickname }}</a>
|
||||
{% else %}
|
||||
{% trans "None"%}
|
||||
{% endif %}
|
||||
|
@@ -16,7 +16,7 @@
|
||||
<span class="author">
|
||||
{% if current_commit.props.creator_name %}
|
||||
{% avatar current_commit.props.creator_name 20 %}
|
||||
<a class="name" href="{% url 'user_profile' current_commit.props.creator_name|id_or_email %}">{{ current_commit.props.creator_name|short_email }}</a>
|
||||
<a class="name" href="{% url 'user_profile' current_commit.props.creator_name %}">{{ current_commit.props.creator_name|short_email }}</a>
|
||||
{% else %}
|
||||
{% trans "Unknown"%}
|
||||
{% endif %}
|
||||
|
@@ -31,7 +31,7 @@
|
||||
<td>
|
||||
{% if commit.creator_name %}
|
||||
{% if not commit.second_parent_id %}
|
||||
{% avatar commit.creator_name 16 %} <a href="{% url 'user_profile' commit.creator_name|id_or_email %}" class="vam">{{ commit.creator_name|email2nickname }}</a>
|
||||
{% avatar commit.creator_name 16 %} <a href="{% url 'user_profile' commit.creator_name %}" class="vam">{{ commit.creator_name|email2nickname }}</a>
|
||||
{% else %}
|
||||
{% trans "None"%}
|
||||
{% endif %}
|
||||
|
@@ -6,7 +6,7 @@
|
||||
<span class="meta-info split">
|
||||
{% if info_commit.props.creator_name %}
|
||||
{% avatar info_commit.props.creator_name 20 %}
|
||||
<a class="vam" href="{% url 'user_profile' info_commit.creator_name|id_or_email %}">{{ info_commit.creator_name|email2nickname }}</a>
|
||||
<a class="vam" href="{% url 'user_profile' info_commit.creator_name %}">{{ info_commit.creator_name|email2nickname }}</a>
|
||||
{% else %}
|
||||
<span class="vam">{% trans "Unknown"%}</span>
|
||||
{% endif %}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
<p>{% blocktrans with library_name=e.repo_name %}Deleted library {{ library_name }}{% endblocktrans %}</p>
|
||||
{% endif %}
|
||||
|
||||
<p><a class="normal" href="{% url 'user_profile' e.author|id_or_email %}">{{ e.author|email2nickname }}</a> <span class="time">{{ e.time|translate_seahub_time }}</span></p>
|
||||
<p><a class="normal" href="{% url 'user_profile' e.author %}">{{ e.author|email2nickname }}</a> <span class="time">{{ e.time|translate_seahub_time }}</span></p>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
@@ -3,7 +3,7 @@
|
||||
{% load url from future %}
|
||||
|
||||
{% block main_panel %}
|
||||
<h2 class="file-modification-hd"><span class="op-target">{{ u_filename }}</span> {% trans "modification details" %} <a href="{% url 'user_profile' current_commit.creator_name|id_or_email %}">{% avatar current_commit.creator_name 16 %}</a><span class="modifier">{{ current_commit.creator_name|email2nickname }}</span><span class="time">{{ current_commit.ctime|translate_seahub_time }}</span></h2>
|
||||
<h2 class="file-modification-hd"><span class="op-target">{{ u_filename }}</span> {% trans "modification details" %} <a href="{% url 'user_profile' current_commit.creator_name %}">{% avatar current_commit.creator_name 16 %}</a><span class="modifier">{{ current_commit.creator_name|email2nickname }}</span><span class="time">{{ current_commit.ctime|translate_seahub_time }}</span></h2>
|
||||
<button class="fright" data="{% url 'file_revisions' repo.id %}?p={{ path|urlencode }}" id="back">{% trans "Back to file versions"%}</button>
|
||||
|
||||
<p class="path">
|
||||
|
@@ -45,7 +45,7 @@
|
||||
<div id="file">
|
||||
<div id="file-op">
|
||||
<div class="commit fleft">
|
||||
{% avatar latest_contributor 24 %} <a href="{% url 'user_profile' latest_contributor|id_or_email %}" class="name">{{ latest_contributor|email2nickname }}</a>
|
||||
{% avatar latest_contributor 24 %} <a href="{% url 'user_profile' latest_contributor %}" class="name">{{ latest_contributor|email2nickname }}</a>
|
||||
<span class="time">{{ last_modified|translate_seahub_time}}</span>
|
||||
{% block update_detail %}
|
||||
{% if last_commit_id %}
|
||||
|
@@ -13,8 +13,8 @@ from seahub.views.repo import repo, repo_history_view, view_shared_dir, \
|
||||
from notifications.views import notification_list
|
||||
from group.views import group_list
|
||||
from message.views import user_msg_list, user_msg_remove, user_received_msg_remove
|
||||
from share.views import user_share_list, gen_private_file_share, \
|
||||
rm_private_file_share, save_private_file_share
|
||||
from share.views import gen_private_file_share, rm_private_file_share, \
|
||||
save_private_file_share
|
||||
from seahub.views.wiki import personal_wiki, personal_wiki_pages, \
|
||||
personal_wiki_create, personal_wiki_page_new, personal_wiki_page_edit, \
|
||||
personal_wiki_page_delete, personal_wiki_use_lib
|
||||
@@ -119,7 +119,7 @@ urlpatterns = patterns('',
|
||||
url(r'^user/(?P<id_or_email>[^/]+)/msgs/$', user_msg_list, name='user_msg_list'),
|
||||
url(r'^user/(?P<msg_id>\d+)/msgdel/$', user_msg_remove, name='user_msg_remove'),
|
||||
url(r'^user/(?P<msg_id>\d+)/remsgdel/$', user_received_msg_remove, name='user_received_msg_remove'),
|
||||
url(r'^user/(?P<id_or_email>[^/]+)/shares/$', user_share_list, name='user_share_list'),
|
||||
# url(r'^user/(?P<id_or_email>[^/]+)/shares/$', user_share_list, name='user_share_list'),
|
||||
url(r'^modules/toggle/$', toggle_modules, name="toggle_modules"),
|
||||
url(r'^download_client_program/$', TemplateView.as_view(template_name="download.html"), name="download_client"),
|
||||
url(r'^choose_register/$', TemplateView.as_view(template_name="choose_register.html"), name="choose_register"),
|
||||
@@ -234,11 +234,11 @@ urlpatterns = patterns('',
|
||||
url(r'^useradmin/remove/(?P<email>[^/]+)/$', user_remove, name="user_remove"),
|
||||
url(r'^useradmin/removetrial/(?P<user_or_org>[^/]+)/$', remove_trial, name="remove_trial"),
|
||||
url(r'^useradmin/search/$', user_search, name="user_search"),
|
||||
url(r'^useradmin/makeadmin/(?P<user_id>[^/]+)/$', user_make_admin, name='user_make_admin'),
|
||||
# url(r'^useradmin/makeadmin/(?P<user_id>[^/]+)/$', user_make_admin, name='user_make_admin'),
|
||||
url(r'^useradmin/removeadmin/(?P<email>[^/]+)/$', user_remove_admin, name='user_remove_admin'),
|
||||
url(r'^useradmin/info/(?P<email>[^/]+)/$', user_info, name='user_info'),
|
||||
url(r'^useradmin/activate/(?P<user_id>[^/]+)/$', user_activate, name='user_activate'),
|
||||
url(r'^useradmin/deactivate/(?P<user_id>[^/]+)/$', user_deactivate, name='user_deactivate'),
|
||||
# url(r'^useradmin/activate/(?P<user_id>[^/]+)/$', user_activate, name='user_activate'),
|
||||
# url(r'^useradmin/deactivate/(?P<user_id>[^/]+)/$', user_deactivate, name='user_deactivate'),
|
||||
url(r'^useradmin/toggle_status/(?P<email>[^/]+)/$', user_toggle_status, name='user_toggle_status'),
|
||||
url(r'^useradmin/toggle_role/(?P<email>[^/]+)/$', user_toggle_role, name='user_toggle_role'),
|
||||
url(r'^useradmin/(?P<email>[^/]+)/set_quota/$', user_set_quota, name='user_set_quota'),
|
||||
|
@@ -763,22 +763,22 @@ def remove_trial(request, user_or_org):
|
||||
messages.success(request, _('Successfully remove trial for: %s') % user_or_org)
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
@login_required
|
||||
@sys_staff_required
|
||||
def user_make_admin(request, user_id):
|
||||
"""Set user as system admin."""
|
||||
try:
|
||||
user = User.objects.get(id=int(user_id))
|
||||
user.is_staff = True
|
||||
user.save()
|
||||
messages.success(request, _(u'Successfully set %s as admin') % user.username)
|
||||
except User.DoesNotExist:
|
||||
messages.error(request, _(u'Failed to set admin: the user does not exist'))
|
||||
# @login_required
|
||||
# @sys_staff_required
|
||||
# def user_make_admin(request, user_id):
|
||||
# """Set user as system admin."""
|
||||
# try:
|
||||
# user = User.objects.get(id=int(user_id))
|
||||
# user.is_staff = True
|
||||
# user.save()
|
||||
# messages.success(request, _(u'Successfully set %s as admin') % user.username)
|
||||
# except User.DoesNotExist:
|
||||
# messages.error(request, _(u'Failed to set admin: the user does not exist'))
|
||||
|
||||
referer = request.META.get('HTTP_REFERER', None)
|
||||
next = reverse('sys_useradmin') if referer is None else referer
|
||||
# referer = request.META.get('HTTP_REFERER', None)
|
||||
# next = reverse('sys_useradmin') if referer is None else referer
|
||||
|
||||
return HttpResponseRedirect(next)
|
||||
# return HttpResponseRedirect(next)
|
||||
|
||||
@login_required
|
||||
@sys_staff_required
|
||||
@@ -797,39 +797,39 @@ def user_remove_admin(request, email):
|
||||
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
@login_required
|
||||
@sys_staff_required
|
||||
def user_activate(request, user_id):
|
||||
try:
|
||||
user = User.objects.get(id=int(user_id))
|
||||
user.is_active = True
|
||||
user.save()
|
||||
messages.success(request, _(u'Successfully activated "%s".') % user.email)
|
||||
except User.DoesNotExist:
|
||||
messages.success(request, _(u'Failed to activate: user does not exist.'))
|
||||
# @login_required
|
||||
# @sys_staff_required
|
||||
# def user_activate(request, user_id):
|
||||
# try:
|
||||
# user = User.objects.get(id=int(user_id))
|
||||
# user.is_active = True
|
||||
# user.save()
|
||||
# messages.success(request, _(u'Successfully activated "%s".') % user.email)
|
||||
# except User.DoesNotExist:
|
||||
# messages.success(request, _(u'Failed to activate: user does not exist.'))
|
||||
|
||||
next = request.META.get('HTTP_REFERER', None)
|
||||
if not next:
|
||||
next = reverse('sys_useradmin')
|
||||
# next = request.META.get('HTTP_REFERER', None)
|
||||
# if not next:
|
||||
# next = reverse('sys_useradmin')
|
||||
|
||||
return HttpResponseRedirect(next)
|
||||
# return HttpResponseRedirect(next)
|
||||
|
||||
@login_required
|
||||
@sys_staff_required
|
||||
def user_deactivate(request, user_id):
|
||||
try:
|
||||
user = User.objects.get(id=int(user_id))
|
||||
user.is_active = False
|
||||
user.save()
|
||||
messages.success(request, _(u'Successfully deactivated "%s".') % user.email)
|
||||
except User.DoesNotExist:
|
||||
messages.success(request, _(u'Failed to deactivate: user does not exist.'))
|
||||
# @login_required
|
||||
# @sys_staff_required
|
||||
# def user_deactivate(request, user_id):
|
||||
# try:
|
||||
# user = User.objects.get(id=int(user_id))
|
||||
# user.is_active = False
|
||||
# user.save()
|
||||
# messages.success(request, _(u'Successfully deactivated "%s".') % user.email)
|
||||
# except User.DoesNotExist:
|
||||
# messages.success(request, _(u'Failed to deactivate: user does not exist.'))
|
||||
|
||||
next = request.META.get('HTTP_REFERER', None)
|
||||
if not next:
|
||||
next = reverse('sys_useradmin')
|
||||
# next = request.META.get('HTTP_REFERER', None)
|
||||
# if not next:
|
||||
# next = reverse('sys_useradmin')
|
||||
|
||||
return HttpResponseRedirect(next)
|
||||
# return HttpResponseRedirect(next)
|
||||
|
||||
def email_user_on_activation(user):
|
||||
"""Send an email to user when admin activate his/her account.
|
||||
|
Reference in New Issue
Block a user