1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-20 02:48:51 +00:00

Merge branch '3.1'

This commit is contained in:
zhengxie
2014-10-13 14:40:57 +08:00
5 changed files with 59 additions and 27 deletions

View File

@@ -13,7 +13,19 @@
{% endblock %}
{% block right_panel %}
<h3 class="hd">{% trans "Members" %}</h3>
{% if search %}
<h3 class="hd">{% trans "Search Results" %}</h3>
{% else %}
<div class="tabnav ovhd">
<ul class="tabnav-tabs fleft">
<li class="tabnav-tab {% if not ldap %}tabnav-tab-cur{%endif%}"><a href="{% url 'pubuser' %}">{% trans "Database" %}</a></li>
{% if have_ldap_user %}
<li class="tabnav-tab {% if ldap %}tabnav-tab-cur{%endif%}"><a href="{% url 'pubuser' %}?ldap=1">{% trans "LDAP" %}</a></li>
{% endif %}
</ul>
</div>
{% endif %}
{% if users %}
<ul class="user-list">
{% for u in users %}
@@ -34,17 +46,17 @@
{% if show_paginator %}
<div id="paginator">
{% if has_prev %}
<a href="?page={{ current_page|add:"-1" }}">{% trans "Previous" %}</a>
<a href="?page={{ current_page|add:"-1" }}{% if ldap %}&ldap=1{%endif%}">{% trans "Previous" %}</a>
{% endif %}
{% for pr in page_range %}
{% if pr == current_page %}
<span class="cur">{{ pr }}</span>
{% else %}
<a href="?page={{ pr }}" class="pg">{{ pr }}</a>
<a href="?page={{ pr }}{% if ldap %}&ldap=1{%endif%}" class="pg">{{ pr }}</a>
{% endif %}
{% endfor %}
{% if has_next %}
<a href="?page={{ current_page|add:"1" }}">{% trans "Next" %}</a>
<a href="?page={{ current_page|add:"1" }}{% if ldap %}&ldap=1{%endif%}">{% trans "Next" %}</a>
{% endif %}
</div>
{% endif %}

View File

@@ -991,15 +991,21 @@ $('#upload-file').click(function () {
sequentialUploads: true
})
.bind('fileuploadadd', function(e, data) {
var file = data.files[0];
// get url(token) for every file
if (!file.error) {
$.ajax({
url: '{% url 'get_file_op_url' repo.id %}?op_type=upload',
cache: false,
dataType: 'json',
success: function(ret) {
data.url = ret['url'];
},
error: function() {
file.error = "{% trans "Failed to get upload url" %}";
}
});
}
})
.bind('fileuploaddone', function(e, data) {
if (data.textStatus == 'success') {

View File

@@ -7,7 +7,6 @@
<h3>{% trans "Search User"%}</h3>
<form id="search-user-form" method="get" action=".">
<p class="tip">{% trans "Tip: Use * to match any number of characters." %}</p>
<label>{% trans "Email" %}</label><input type="text" name="email" class="input" value="{{email}}" /><br />
<input type="submit" value="{% trans "Submit" %}" class="submit" />
</form>

View File

@@ -1458,9 +1458,6 @@ def get_pub_users(request, start, limit):
raise Http404 # no pubuser in cloud mode
else:
# Get ldap users first, if no users found, use database.
users_plus_one = seaserv.get_emailusers('LDAP', start, limit)
if len(users_plus_one) == 0:
users_plus_one = seaserv.get_emailusers('DB', start, limit)
return users_plus_one
@@ -1473,12 +1470,12 @@ def count_pub_users(request):
elif request.cloud_mode:
return 0
else:
return seaserv.count_emailusers()
return seaserv.ccnet_threaded_rpc.count_emailusers('DB')
@login_required
def pubuser(request):
"""
Show public users.
Show public users in database or ldap depending on request arg ``ldap``.
"""
if not request.user.permissions.can_view_org():
raise Http404
@@ -1490,13 +1487,30 @@ def pubuser(request):
current_page = 1
per_page = 20 # show 20 users per-page
# Show LDAP users or Database users.
have_ldap_user = True if len(seaserv.get_emailusers('LDAP', 0, 1)) > 0 else False
try:
ldap = True if int(request.GET.get('ldap', 0)) == 1 else False
except ValueError:
ldap = False
if ldap and have_ldap_user:
users_plus_one = seaserv.get_emailusers('LDAP',
per_page * (current_page - 1),
per_page + 1)
else:
users_plus_one = get_pub_users(request, per_page * (current_page - 1),
per_page + 1)
has_prev = False if current_page == 1 else True
has_next = True if len(users_plus_one) == per_page + 1 else False
if ldap and have_ldap_user:
emailusers_count = seaserv.ccnet_threaded_rpc.count_emailusers('LDAP')
else:
emailusers_count = count_pub_users(request)
num_pages = int(ceil(emailusers_count / float(per_page)))
page_range = get_page_range(current_page, num_pages)
show_paginator = True if len(page_range) > 1 else False
@@ -1520,6 +1534,8 @@ def pubuser(request):
'has_next': has_next,
'page_range': page_range,
'show_paginator': show_paginator,
'have_ldap_user': have_ldap_user,
'ldap': ldap,
}, context_instance=RequestContext(request))
@login_required_ajax

View File

@@ -318,7 +318,6 @@ def sys_user_admin_admins(request):
@login_required
@sys_staff_required
def user_info(request, email):
owned_repos = seafile_api.get_owned_repo_list(email)
quota = seafile_api.get_user_quota(email)
@@ -822,16 +821,16 @@ def user_search(request):
"""Search a user.
"""
email = request.GET.get('email', '')
email_patt = email.replace('*', '%')
users = ccnet_threaded_rpc.search_emailusers(email_patt, -1, -1)
users = ccnet_threaded_rpc.search_emailusers(email, -1, -1)
last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users])
for user in users:
try:
user.self_usage = seafile_api.get_user_self_usage(user.email)
user.share_usage = seafile_api.get_user_share_usage(user.email)
user.quota = seafile_api.get_user_quota(user.email)
except:
except SearpcError as e:
logger.error(e)
user.self_usage = -1
user.share_usage = -1
user.quota = -1