mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-05 08:53:14 +00:00
Add org user added notification
This commit is contained in:
@@ -385,6 +385,8 @@ table img {
|
||||
.new-reply {
|
||||
padding: 5px;
|
||||
background-color: #FDF;
|
||||
margin-bottom: 5px;
|
||||
display: block;
|
||||
}
|
||||
.new-reply a {
|
||||
color: #000;
|
||||
|
@@ -0,0 +1,4 @@
|
||||
from signals import *
|
||||
from handlers import *
|
||||
|
||||
org_user_added.connect(org_user_added_cb, sender=None)
|
||||
|
@@ -32,7 +32,7 @@
|
||||
|
||||
{% for user in users %}
|
||||
<tr>
|
||||
<td><a href="{{ SITE_ROOT }}useradmin/info/{{ user.props.email }}/">{{ user.props.email }}</a></td>
|
||||
<td><a href="{% url user_profile user.email %}">{{ user.props.email }}</a></td>
|
||||
<td>
|
||||
{% if not user.is_self %}
|
||||
<button class="remove-user-btn" data="{% url org_user_remove org.url_prefix user.email %}">删除</button>
|
||||
@@ -69,8 +69,9 @@
|
||||
|
||||
<form id="user-add-form" action="" method="post" name="user-add-form" class="hide">
|
||||
<label>邮箱:</label><br />
|
||||
<textarea id="emails" name="emails"></textarea>
|
||||
<textarea id="added-member-name" name="added-member-name"></textarea>
|
||||
<p class="tip">可以是非网站注册用户,我们会以邮件通知对方。</p>
|
||||
<p class="tip">(如未收到,请检查垃圾邮件)</p>
|
||||
<p class="error hide">输入不能为空。</p>
|
||||
<input type="submit" value="提交" />
|
||||
</form>
|
||||
|
@@ -7,6 +7,8 @@ from seahub.views import repo, repo_history, org_seafadmin, \
|
||||
urlpatterns = patterns('',
|
||||
url(r'^create/$', create_org, name='create_org'),
|
||||
(r'^change_account/$', change_account),
|
||||
url(r'^messages/$', org_msg, name='org_msg'),
|
||||
|
||||
url(r'^(?P<url_prefix>[^/]+)/$', org_info, name='org_info'),
|
||||
url(r'^(?P<url_prefix>[^/]+)/groups/$', org_groups, name='org_groups'),
|
||||
|
||||
|
@@ -15,8 +15,10 @@ from seaserv import ccnet_threaded_rpc, get_orgs_by_user, get_org_repos, \
|
||||
get_ccnetuser, remove_org_user, get_org_groups
|
||||
|
||||
from forms import OrgCreateForm
|
||||
from signals import org_user_added
|
||||
from settings import ORG_CACHE_PREFIX
|
||||
from utils import set_org_ctx
|
||||
from notifications.models import UserNotification
|
||||
from registration.models import RegistrationProfile
|
||||
import seahub.settings as seahub_settings
|
||||
from seahub.utils import go_error, go_permission_error, validate_group_name, \
|
||||
@@ -142,7 +144,7 @@ def org_useradmin(request, url_prefix):
|
||||
raise Http404
|
||||
|
||||
if request.method == 'POST':
|
||||
emails = request.POST.get('emails')
|
||||
emails = request.POST.get('added-member-name')
|
||||
|
||||
email_list = emails2list(emails)
|
||||
for email in email_list:
|
||||
@@ -154,6 +156,11 @@ def org_useradmin(request, url_prefix):
|
||||
email = email.strip(' ')
|
||||
org_id = request.user.org['org_id']
|
||||
add_org_user(org_id, email, 0)
|
||||
|
||||
# send signal
|
||||
org_user_added.send(sender=None, org_id=org_id,
|
||||
from_email=request.user.username,
|
||||
to_email=email)
|
||||
else:
|
||||
# User is not registered, just create account and
|
||||
# add that account to org
|
||||
@@ -211,3 +218,22 @@ def org_user_remove(request, user):
|
||||
remove_org_user(org_id, user)
|
||||
|
||||
return HttpResponseRedirect(reverse('org_useradmin', args=[url_prefix]))
|
||||
|
||||
def org_msg(request):
|
||||
"""
|
||||
Show organization user added messages
|
||||
"""
|
||||
orgmsg_list = []
|
||||
notes = UserNotification.objects.filter(to_user=request.user.username)
|
||||
for n in notes:
|
||||
if n.msg_type == 'org_msg':
|
||||
orgmsg_list.append(n.detail)
|
||||
|
||||
# remove new org msg notification
|
||||
UserNotification.objects.filter(to_user=request.user.username,
|
||||
msg_type='org_msg').delete()
|
||||
print orgmsg_list
|
||||
return render_to_response('organizations/new_msg.html', {
|
||||
'orgmsg_list': orgmsg_list,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
@@ -27,7 +27,9 @@
|
||||
<div class="top-bar-in">
|
||||
<div class="fleft">
|
||||
{% if request.user.is_authenticated %}
|
||||
<a href="#" id="team-account" data="no-popup">团体帐号<span class="bg"></span></a>
|
||||
<a href="#" id="team-account" data="no-popup">
|
||||
{% if org %} {{ org.org_name }} {% else %} 个人帐号 {% endif %}
|
||||
<span class="bg"></span></a>
|
||||
<ul class="hide" id="team-list">
|
||||
<li><a href="{% url myhome %}">个人帐号</a></li>
|
||||
{% for org in request.user.orgs %}
|
||||
|
@@ -17,15 +17,13 @@
|
||||
{% if grpmsg_reply_list %}
|
||||
<span class="new-reply"><a href="{{ SITE_ROOT }}group/reply/new/">{{ grpmsg_reply_list|length }}条留言有新回复</a></span>
|
||||
{% endif %}
|
||||
{% if orgmsg_list %}
|
||||
<span class="new-reply"><a href="{% url org_msg %}">你有{{ orgmsg_list|length }}条团体消息</a></span>
|
||||
{% endif %}
|
||||
|
||||
<h3>已用空间</h3>
|
||||
<p>{{ quota_usage|filesizeformat }} / 2 GB</p>
|
||||
|
||||
{% if request.user.org %}
|
||||
<h3>所属企业</h3>
|
||||
<p>{{ request.user.org.org_name }}</p>
|
||||
{% endif %}
|
||||
|
||||
<h3>我管理的小组</h3>
|
||||
{% if groups_manage %}
|
||||
<ul>
|
||||
@@ -159,6 +157,7 @@
|
||||
<textarea id="email_or_group" name="email_or_group"></textarea>
|
||||
<input id="repo_id" type="hidden" name="repo_id" value="" />
|
||||
<p class="tip">可以是非网站注册用户,我们会以邮件通知对方。</p>
|
||||
<p class="tip">(如未收到,请检查垃圾邮件)</p>
|
||||
<p class="error hide">输入不能为空。</p>
|
||||
<input type="submit" value="提交" id="share-submit-btn" />
|
||||
</form>
|
||||
|
@@ -4,10 +4,10 @@
|
||||
<ul class="nav">
|
||||
{% if request.user.org.is_staff %}
|
||||
<li>
|
||||
<a href="{% url org_seafadmin request.user.org.url_prefix %}" {% block nav_seafadmin_class %}{% endblock %}>目录管理</a>
|
||||
<a href="{% url org_useradmin request.user.org.url_prefix %}" {% block nav_useradmin_class %}{% endblock %}>用户管理</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{% url org_useradmin request.user.org.url_prefix %}" {% block nav_useradmin_class %}{% endblock %}>用户管理</a>
|
||||
<a href="{% url org_seafadmin request.user.org.url_prefix %}" {% block nav_seafadmin_class %}{% endblock %}>目录管理</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{% url org_groupadmin request.user.org.url_prefix %}" {% block nav_groupadmin_class %}{% endblock %}>小组管理</a>
|
||||
|
@@ -9,7 +9,7 @@ from service import get_binding_peerids
|
||||
from service import get_ccnetuser, get_emailusers
|
||||
from service import get_group_repoids, check_group_staff
|
||||
from service import create_org, get_orgs_by_user, get_org_by_url_prefix, \
|
||||
get_user_current_org, add_org_user, remove_org_user
|
||||
get_user_current_org, add_org_user, remove_org_user, get_org_by_id
|
||||
|
||||
from service import CCNET_CONF_PATH
|
||||
|
||||
|
@@ -154,6 +154,14 @@ def get_org_by_url_prefix(url_prefix):
|
||||
|
||||
return org
|
||||
|
||||
def get_org_by_id(org_id):
|
||||
try:
|
||||
org = ccnet_threaded_rpc.get_org_by_id(org_id)
|
||||
except SearpcError:
|
||||
org = None
|
||||
|
||||
return org
|
||||
|
||||
def get_user_current_org(user, url_prefix):
|
||||
orgs = get_orgs_by_user(user)
|
||||
for org in orgs:
|
||||
|
4
views.py
4
views.py
@@ -697,12 +697,15 @@ def myhome(request):
|
||||
# user notifications
|
||||
grpmsg_list = []
|
||||
grpmsg_reply_list = []
|
||||
orgmsg_list = []
|
||||
notes = UserNotification.objects.filter(to_user=request.user.username)
|
||||
for n in notes:
|
||||
if n.msg_type == 'group_msg':
|
||||
grpmsg_list.append(n.detail)
|
||||
elif n.msg_type == 'grpmsg_reply':
|
||||
grpmsg_reply_list.append(n.detail)
|
||||
elif n.msg_type == 'org_msg':
|
||||
orgmsg_list.append(n.detail)
|
||||
|
||||
# my groups
|
||||
groups = get_personal_groups(email)
|
||||
@@ -738,6 +741,7 @@ def myhome(request):
|
||||
"contacts": contacts,
|
||||
"groups": groups,
|
||||
"grpmsg_reply_list": grpmsg_reply_list,
|
||||
"orgmsg_list": orgmsg_list,
|
||||
"groups_manage": groups_manage,
|
||||
"groups_join": groups_join,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
Reference in New Issue
Block a user