mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 00:20:07 +00:00
add 'user-profile'
This commit is contained in:
@@ -32,4 +32,3 @@ $('input[type="submit"]').click(function() {
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
@@ -9,7 +9,11 @@
|
|||||||
<h3>管理员</h3>
|
<h3>管理员</h3>
|
||||||
<ul>
|
<ul>
|
||||||
{% for member in managers %}
|
{% for member in managers %}
|
||||||
|
{% if member.user_name != request.user.username %}
|
||||||
|
<li class="group-member">{% avatar member.user_name 16 %}<span class="group-member-name"><a href="{{ SITE_ROOT }}profile/user/?user={{ member.user_name }}">{{ member.short_username }}</a></span></li>
|
||||||
|
{% else %}
|
||||||
<li class="group-member">{% avatar member.user_name 16 %}<span class="group-member-name">{{ member.short_username }}</span></li>
|
<li class="group-member">{% avatar member.user_name 16 %}<span class="group-member-name">{{ member.short_username }}</span></li>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@@ -17,7 +21,11 @@
|
|||||||
{% if common_members %}
|
{% if common_members %}
|
||||||
<ul>
|
<ul>
|
||||||
{% for member in common_members %}
|
{% for member in common_members %}
|
||||||
|
{% if member.user_name != request.user.username %}
|
||||||
|
<li class="group-member">{% avatar member.user_name 16 %}<span class="group-member-name"><a href="{{ SITE_ROOT }}profile/user/?user={{ member.user_name }}">{{ member.short_username }}</a></span></li>
|
||||||
|
{% else %}
|
||||||
<li class="group-member">{% avatar member.user_name 16 %}<span class="group-member-name">{{ member.short_username }}</span></li>
|
<li class="group-member">{% avatar member.user_name 16 %}<span class="group-member-name">{{ member.short_username }}</span></li>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
@@ -373,14 +373,17 @@ h2.repo-history {
|
|||||||
.contact-list-link:hover {
|
.contact-list-link:hover {
|
||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
}
|
}
|
||||||
/* group */
|
/* group, org */
|
||||||
.group-member .avatar {
|
.group-member .avatar,
|
||||||
|
.org-member .avatar {
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
-moz-border-radius: 2px;
|
-moz-border-radius: 2px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
.group-member .avatar,
|
.group-member .avatar,
|
||||||
.group-member-name {
|
.group-member-name,
|
||||||
|
.org-member .avatar,
|
||||||
|
.org-member-name {
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
}
|
}
|
||||||
#member-add {
|
#member-add {
|
||||||
@@ -394,13 +397,26 @@ h2.repo-history {
|
|||||||
/* notification admin */
|
/* notification admin */
|
||||||
.cur-note { color: red; font-size: 75%; }
|
.cur-note { color: red; font-size: 75%; }
|
||||||
|
|
||||||
/* org */
|
/*user-profile*/
|
||||||
.org-member .avatar {
|
.user-profile .pic {
|
||||||
border-radius: 2px;
|
width:80px;
|
||||||
-moz-border-radius: 2px;
|
text-align:center;
|
||||||
margin-right: 5px;
|
margin-right:20px;
|
||||||
}
|
}
|
||||||
.org-member .avatar,
|
.user-profile .avatar {
|
||||||
.org-member-name {
|
border-radius:4px;
|
||||||
vertical-align:middle;
|
-moz-border-radius:4px;
|
||||||
|
margin-bottom:5px;
|
||||||
|
}
|
||||||
|
.user-profile .txt {
|
||||||
|
width:225px;
|
||||||
|
word-wrap:break-word;
|
||||||
|
}
|
||||||
|
.user-profile .txt p {
|
||||||
|
margin-bottom:4px;
|
||||||
|
}
|
||||||
|
.user-profile .intro {
|
||||||
|
color:#444;
|
||||||
|
font-size:12px;
|
||||||
|
margin-top:10px;
|
||||||
}
|
}
|
||||||
|
48
profile/templates/profile/user_profile.html
Normal file
48
profile/templates/profile/user_profile.html
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{% extends "profile/profile_base.html" %}
|
||||||
|
{% load avatar_tags %}
|
||||||
|
|
||||||
|
{% block main_panel %}
|
||||||
|
{% if not err_msg %}
|
||||||
|
<div class="user-profile narrow-panel ovhd">
|
||||||
|
<div class="pic fleft">
|
||||||
|
{% avatar email 80 %}
|
||||||
|
<button id="add">加为联系人</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="txt fright">
|
||||||
|
{% if nickname %}
|
||||||
|
<p>{{ nickname }}</p>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<p>{{ email }}</p>
|
||||||
|
|
||||||
|
{% if intro %}
|
||||||
|
<p class="intro">{{ intro }}</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form id="add-as-contact" class="hide" action="{{ SITE_ROOT }}contacts/add/" method="post">
|
||||||
|
<input type="hidden" name="user_email" value="{{ request.user.username }}" id="id_user_email" />
|
||||||
|
<label>邮箱:</label><br />
|
||||||
|
<input id="id_contact_email" type="text" name="contact_email" maxlength="255" value="{{ email }}" /><br />
|
||||||
|
<label>名字(可选):</label><br />
|
||||||
|
<input id="id_contact_name" type="text" name="contact_name" maxlength="255" /><br />
|
||||||
|
<label>备注(可选):</label><br />
|
||||||
|
<input id="id_note" type="text" name="note" maxlength="255" /><br />
|
||||||
|
<input type="submit" value="提交" class="submit" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<div class="text-panel">
|
||||||
|
<p class="error">{{ err_msg }}</p>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block extra_script %}
|
||||||
|
<script type="text/javascript">
|
||||||
|
$('#add').click(function() {
|
||||||
|
$('#add-as-contact').modal({appendTo: '#main'});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
@@ -3,5 +3,6 @@ from django.conf.urls.defaults import *
|
|||||||
urlpatterns = patterns('profile.views',
|
urlpatterns = patterns('profile.views',
|
||||||
url(r'^list_user/$', 'list_userids', name="list_userids"),
|
url(r'^list_user/$', 'list_userids', name="list_userids"),
|
||||||
url(r'^$', 'edit_profile', name="edit_profile"),
|
url(r'^$', 'edit_profile', name="edit_profile"),
|
||||||
|
url(r'^user/$', 'user_profile', name="user_profile"),
|
||||||
url(r'^logout/$', 'logout_relay', name="logout_relay"),
|
url(r'^logout/$', 'logout_relay', name="logout_relay"),
|
||||||
)
|
)
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
# encoding: utf-8
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.http import HttpResponse, HttpResponseRedirect
|
from django.http import HttpResponse, HttpResponseRedirect
|
||||||
from django.shortcuts import render_to_response, get_object_or_404
|
from django.shortcuts import render_to_response, get_object_or_404
|
||||||
@@ -58,3 +59,35 @@ def edit_profile(request):
|
|||||||
'intro':profile.intro,
|
'intro':profile.intro,
|
||||||
},
|
},
|
||||||
context_instance=RequestContext(request))
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
def user_profile(request):
|
||||||
|
user = request.GET.get('user', '')
|
||||||
|
|
||||||
|
user_nickname = ''
|
||||||
|
user_intro = ''
|
||||||
|
err_msg = ''
|
||||||
|
|
||||||
|
if user:
|
||||||
|
try:
|
||||||
|
user_check = ccnet_rpc.get_emailuser(user)
|
||||||
|
except:
|
||||||
|
user_check = None
|
||||||
|
|
||||||
|
if user_check:
|
||||||
|
profile = Profile.objects.filter(user=user)
|
||||||
|
if profile:
|
||||||
|
profile = profile[0]
|
||||||
|
user_nickname = profile.nickname
|
||||||
|
user_intro = profile.intro
|
||||||
|
else:
|
||||||
|
err_msg = '该用户不存在'
|
||||||
|
else:
|
||||||
|
err_msg = '该用户不存在'
|
||||||
|
|
||||||
|
return render_to_response('profile/user_profile.html', {
|
||||||
|
'email': user,
|
||||||
|
'nickname':user_nickname,
|
||||||
|
'intro':user_intro,
|
||||||
|
'err_msg':err_msg,
|
||||||
|
},
|
||||||
|
context_instance=RequestContext(request))
|
||||||
|
Reference in New Issue
Block a user