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

Use threaded rpc.

This commit is contained in:
killing
2012-06-25 20:42:19 +08:00
parent d342f92758
commit e86aa244c7
10 changed files with 81 additions and 80 deletions

View File

@@ -11,11 +11,11 @@ from auth import authenticate, login
from registration import signals from registration import signals
#from registration.forms import RegistrationForm #from registration.forms import RegistrationForm
from registration.models import RegistrationProfile from registration.models import RegistrationProfile
from seaserv import ccnet_rpc, get_ccnetuser from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_ccnetuser
class UserManager(object): class UserManager(object):
def create_user(self, username, password=None, is_staff=False, is_active=False): def create_user(self, username, password=None, is_staff=False, is_active=False):
ccnet_rpc.add_emailuser(username, password, int(is_staff), int(is_active)) ccnet_threaded_rpc.add_emailuser(username, password, int(is_staff), int(is_active))
ccnetuser = get_ccnetuser(username=username) ccnetuser = get_ccnetuser(username=username)
return ccnetuser return ccnetuser
@@ -48,7 +48,7 @@ class CcnetUser(object):
def validate_emailuser(self, email, raw_password): def validate_emailuser(self, email, raw_password):
self.set_password(raw_password) self.set_password(raw_password)
return ccnet_rpc.validate_emailuser(email, raw_password) return ccnet_threaded_rpc.validate_emailuser(email, raw_password)
def is_authenticated(self): def is_authenticated(self):
""" """
@@ -65,9 +65,9 @@ class CcnetUser(object):
return False return False
def save(self): def save(self):
emailuser = ccnet_rpc.get_emailuser(self.username) emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
if emailuser: if emailuser:
ccnet_rpc.update_emailuser(self.id, self.password, ccnet_threaded_rpc.update_emailuser(self.id, self.password,
int(self.is_staff), int(self.is_active)) int(self.is_staff), int(self.is_active))
else: else:
self.objects.create_user(username=self.username, self.objects.create_user(username=self.username,
@@ -79,8 +79,8 @@ class CcnetUser(object):
""" """
Remove from ccnet EmailUser table and Binding table Remove from ccnet EmailUser table and Binding table
""" """
ccnet_rpc.remove_emailuser(self.username) ccnet_threaded_rpc.remove_emailuser(self.username)
ccnet_rpc.remove_binding(self.username) ccnet_threaded_rpc.remove_binding(self.username)
def get_and_delete_messages(self): def get_and_delete_messages(self):
messages = [] messages = []
@@ -201,7 +201,7 @@ class RegistrationBackend(object):
userid = kwargs['userid'] userid = kwargs['userid']
if userid: if userid:
ccnet_rpc.add_binding(new_user.username, userid) ccnet_threaded_rpc.add_binding(new_user.username, userid)
signals.user_registered.send(sender=self.__class__, signals.user_registered.send(sender=self.__class__,
user=new_user, user=new_user,
@@ -295,7 +295,7 @@ class RegistrationForm(forms.Form):
def clean_email(self): def clean_email(self):
email = self.cleaned_data['email'] email = self.cleaned_data['email']
emailuser = ccnet_rpc.get_emailuser(email) emailuser = ccnet_threaded_rpc.get_emailuser(email)
if not emailuser: if not emailuser:
return self.cleaned_data['email'] return self.cleaned_data['email']
else: else:
@@ -336,7 +336,7 @@ class OrgRegistrationForm(RegistrationForm):
def clean_url_prefix(self): def clean_url_prefix(self):
url_prefix = self.cleaned_data['url_prefix'] url_prefix = self.cleaned_data['url_prefix']
org = ccnet_rpc.get_org_by_url_prefix(url_prefix) org = ccnet_threaded_rpc.get_org_by_url_prefix(url_prefix)
if not org: if not org:
return url_prefix return url_prefix
else: else:
@@ -385,7 +385,7 @@ class OrgRegistrationBackend(object):
send_email=False) send_email=False)
# create orgnization account # create orgnization account
try: try:
ccnet_rpc.create_org(org_name, url_prefix, username) ccnet_threaded_rpc.create_org(org_name, url_prefix, username)
except SearpcError, e: except SearpcError, e:
pass pass
else: else:

View File

@@ -10,7 +10,7 @@ from django.forms.models import modelformset_factory
from models import Contact from models import Contact
from models import AddContactForm from models import AddContactForm
from seaserv import ccnet_rpc from seaserv import ccnet_rpc, ccnet_threaded_rpc
@login_required @login_required
def contact_list(request): def contact_list(request):
@@ -29,7 +29,7 @@ def contact_add(request):
contact_email = form.cleaned_data['contact_email'] contact_email = form.cleaned_data['contact_email']
contact_name = form.cleaned_data['contact_name'] contact_name = form.cleaned_data['contact_name']
note = form.cleaned_data['note'] note = form.cleaned_data['note']
emailuser = ccnet_rpc.get_emailuser(contact_email) emailuser = ccnet_threaded_rpc.get_emailuser(contact_email)
if not emailuser: if not emailuser:
error_msg = u"用户不存在" error_msg = u"用户不存在"
elif contact_email == request.user.username: elif contact_email == request.user.username:
@@ -38,7 +38,7 @@ def contact_add(request):
contact_email=contact_email).count() > 0: contact_email=contact_email).count() > 0:
error_msg = u"联系人列表中已有该用户" error_msg = u"联系人列表中已有该用户"
elif request.user.org and \ elif request.user.org and \
not ccnet_rpc.org_user_exists(request.user.org.org_id, not ccnet_threaded_rpc.org_user_exists(request.user.org.org_id,
contact_email): contact_email):
error_msg = u"当前企业不存在该用户" error_msg = u"当前企业不存在该用户"
else: else:
@@ -70,7 +70,7 @@ def contact_edit(request):
contact_email = form.cleaned_data['contact_email'] contact_email = form.cleaned_data['contact_email']
contact_name = form.cleaned_data['contact_name'] contact_name = form.cleaned_data['contact_name']
note = form.cleaned_data['note'] note = form.cleaned_data['note']
emailuser = ccnet_rpc.get_emailuser(contact_email) emailuser = ccnet_threaded_rpc.get_emailuser(contact_email)
if not emailuser: if not emailuser:
error_msg = u"用户不存在" error_msg = u"用户不存在"
elif contact_email == request.user.username: elif contact_email == request.user.username:

View File

@@ -2,7 +2,7 @@ from django import forms
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from seaserv import ccnet_rpc from seaserv import ccnet_rpc, ccnet_threaded_rpc
class AddUserForm(forms.Form): class AddUserForm(forms.Form):
""" """
@@ -15,7 +15,7 @@ class AddUserForm(forms.Form):
def clean_email(self): def clean_email(self):
email = self.cleaned_data['email'] email = self.cleaned_data['email']
emailuser = ccnet_rpc.get_emailuser(email) emailuser = ccnet_threaded_rpc.get_emailuser(email)
if not emailuser: if not emailuser:
return self.cleaned_data['email'] return self.cleaned_data['email']
else: else:

View File

@@ -5,7 +5,7 @@ from django.shortcuts import render_to_response, redirect
from django.template import RequestContext from django.template import RequestContext
from auth.decorators import login_required from auth.decorators import login_required
from seaserv import ccnet_rpc, seafserv_threaded_rpc, get_repo, \ from seaserv import ccnet_rpc, ccnet_threaded_rpc, seafserv_threaded_rpc, get_repo, \
get_group_repoids, check_group_staff get_group_repoids, check_group_staff
from pysearpc import SearpcError from pysearpc import SearpcError
@@ -25,17 +25,17 @@ def group_list(request):
return go_error(request, u'小组名称只能包含中英文字符,数字及下划线') return go_error(request, u'小组名称只能包含中英文字符,数字及下划线')
try: try:
group_id = ccnet_rpc.create_group(group_name.encode('utf-8'), group_id = ccnet_threaded_rpc.create_group(group_name.encode('utf-8'),
request.user.username) request.user.username)
# TODO: transaction? # TODO: transaction?
if request.user.org and group_id > 0: if request.user.org and group_id > 0:
ccnet_rpc.add_org_group(request.user.org.org_id, ccnet_threaded_rpc.add_org_group(request.user.org.org_id,
group_id) group_id)
except SearpcError, e: except SearpcError, e:
error_msg = e.msg error_msg = e.msg
return go_error(request, error_msg) return go_error(request, error_msg)
groups = ccnet_rpc.get_groups(request.user.username); groups = ccnet_threaded_rpc.get_groups(request.user.username);
return render_to_response("group/groups.html", { return render_to_response("group/groups.html", {
"groups": groups, "groups": groups,
@@ -59,16 +59,16 @@ def group_remove(request, group_id):
return HttpResponseRedirect(reverse('group_list', args=[])) return HttpResponseRedirect(reverse('group_list', args=[]))
# Check whether user is the group staff or admin # Check whether user is the group staff or admin
if not ccnet_rpc.check_group_staff(group_id_int, request.user.username) \ if not ccnet_threaded_rpc.check_group_staff(group_id_int, request.user.username) \
and not request.user.is_staff: and not request.user.is_staff:
return go_permission_error(request, u'只有小组管理员有权解散小组') return go_permission_error(request, u'只有小组管理员有权解散小组')
try: try:
ccnet_rpc.remove_group(group_id_int, request.user.username) ccnet_threaded_rpc.remove_group(group_id_int, request.user.username)
seafserv_threaded_rpc.remove_repo_group(group_id_int, None) seafserv_threaded_rpc.remove_repo_group(group_id_int, None)
if request.user.org: if request.user.org:
ccnet_rpc.remove_org_group(request.user.org.org_id, ccnet_threaded_rpc.remove_org_group(request.user.org.org_id,
group_id_int) group_id_int)
except SearpcError, e: except SearpcError, e:
return go_error(request, e.msg) return go_error(request, e.msg)
@@ -88,7 +88,7 @@ def group_quit(request, group_id):
return go_error(request, u'group id 不是有效参数') return go_error(request, u'group id 不是有效参数')
try: try:
ccnet_rpc.quit_group(group_id_int, request.user.username) ccnet_threaded_rpc.quit_group(group_id_int, request.user.username)
seafserv_threaded_rpc.remove_repo_group(group_id_int, seafserv_threaded_rpc.remove_repo_group(group_id_int,
request.user.username) request.user.username)
except SearpcError, e: except SearpcError, e:
@@ -105,14 +105,14 @@ def group_info(request, group_id):
# Check whether user belong to the group or admin # Check whether user belong to the group or admin
joined = False joined = False
groups = ccnet_rpc.get_groups(request.user.username) groups = ccnet_threaded_rpc.get_groups(request.user.username)
for group in groups: for group in groups:
if group.id == group_id_int: if group.id == group_id_int:
joined = True joined = True
if not joined and not request.user.is_staff: if not joined and not request.user.is_staff:
return go_error(request, u'未加入该小组') return go_error(request, u'未加入该小组')
group = ccnet_rpc.get_group(group_id_int) group = ccnet_threaded_rpc.get_group(group_id_int)
if not group: if not group:
return HttpResponseRedirect(reverse('group_list', args=[])) return HttpResponseRedirect(reverse('group_list', args=[]))
@@ -121,7 +121,7 @@ def group_info(request, group_id):
else: else:
is_staff = False is_staff = False
members = ccnet_rpc.get_group_members(group_id_int) members = ccnet_threaded_rpc.get_group_members(group_id_int)
managers = [] managers = []
common_members = [] common_members = []
for member in members: for member in members:
@@ -166,7 +166,7 @@ def group_members(request, group_id):
if not check_group_staff(group_id_int, request.user): if not check_group_staff(group_id_int, request.user):
return go_permission_error(request, u'只有小组管理员有权管理小组') return go_permission_error(request, u'只有小组管理员有权管理小组')
group = ccnet_rpc.get_group(group_id_int) group = ccnet_threaded_rpc.get_group(group_id_int)
if not group: if not group:
return HttpResponseRedirect(reverse('group_list', args=[])) return HttpResponseRedirect(reverse('group_list', args=[]))
@@ -190,13 +190,13 @@ def group_members(request, group_id):
if request.user.org: if request.user.org:
for member_name in member_name_dict.keys(): for member_name in member_name_dict.keys():
if not ccnet_rpc.org_user_exists(request.user.org.org_id, if not ccnet_threaded_rpc.org_user_exists(request.user.org.org_id,
member_name): member_name):
err_msg = u'当前企业不存在 %s 用户' % member_name err_msg = u'当前企业不存在 %s 用户' % member_name
return go_error(request, err_msg) return go_error(request, err_msg)
else: else:
try: try:
ccnet_rpc.group_add_member(group_id_int, ccnet_threaded_rpc.group_add_member(group_id_int,
request.user.username, request.user.username,
member_name) member_name)
except SearpcError, e: except SearpcError, e:
@@ -208,13 +208,13 @@ def group_members(request, group_id):
return go_error(request, err_msg) return go_error(request, err_msg)
else: else:
try: try:
ccnet_rpc.group_add_member(group_id_int, ccnet_threaded_rpc.group_add_member(group_id_int,
request.user.username, request.user.username,
member_name) member_name)
except SearpcError, e: except SearpcError, e:
return go_error(request, e.msg) return go_error(request, e.msg)
members = ccnet_rpc.get_group_members(group_id_int) members = ccnet_threaded_rpc.get_group_members(group_id_int)
contacts = Contact.objects.filter(user_email=request.user.username) contacts = Contact.objects.filter(user_email=request.user.username)
return render_to_response('group/group_manage.html', { return render_to_response('group/group_manage.html', {
@@ -249,7 +249,7 @@ def group_remove_member(request, group_id, user_name):
except ValueError: except ValueError:
return go_error(request, u'group id 不是有效参数') return go_error(request, u'group id 不是有效参数')
try: try:
ccnet_rpc.group_remove_member(group_id_int, request.user.username, ccnet_threaded_rpc.group_remove_member(group_id_int, request.user.username,
user_name) user_name)
seafserv_threaded_rpc.remove_repo_group(group_id_int, user_name) seafserv_threaded_rpc.remove_repo_group(group_id_int, user_name)
except SearpcError, e: except SearpcError, e:
@@ -263,13 +263,13 @@ def group_share_repo(request, repo_id, group_id, from_email):
""" """
# Check whether group exists # Check whether group exists
group = ccnet_rpc.get_group(group_id) group = ccnet_threaded_rpc.get_group(group_id)
if not group: if not group:
return go_error(request, u'共享失败:小组不存在') return go_error(request, u'共享失败:小组不存在')
# Check whether user belong to the group # Check whether user belong to the group
joined = False joined = False
groups = ccnet_rpc.get_groups(request.user.username) groups = ccnet_threaded_rpc.get_groups(request.user.username)
for group in groups: for group in groups:
if group.props.id == group_id: if group.props.id == group_id:
joined = True joined = True
@@ -285,13 +285,13 @@ def group_unshare_repo(request, repo_id, group_id, from_email):
""" """
# Check whether group exists # Check whether group exists
group = ccnet_rpc.get_group(group_id) group = ccnet_threaded_rpc.get_group(group_id)
if not group: if not group:
return go_error(request, u'共享失败:小组不存在') return go_error(request, u'共享失败:小组不存在')
# Check whether user belong to the group # Check whether user belong to the group
joined = False joined = False
groups = ccnet_rpc.get_groups(from_email) groups = ccnet_threaded_rpc.get_groups(from_email)
for group in groups: for group in groups:
if group.props.id == group_id: if group.props.id == group_id:
joined = True joined = True

View File

@@ -6,7 +6,7 @@ from django.shortcuts import render_to_response, get_object_or_404
from django.template import Context, RequestContext from django.template import Context, RequestContext
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from seaserv import ccnet_rpc, get_binding_peerids from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_binding_peerids
from pysearpc import SearpcError from pysearpc import SearpcError
from forms import ProfileForm from forms import ProfileForm
@@ -18,7 +18,7 @@ from seahub.contacts.models import Contact
def list_userids(request): def list_userids(request):
peer_list = [] peer_list = []
try: try:
peers = ccnet_rpc.get_peers_by_email(request.user.username) peers = ccnet_threaded_rpc.get_peers_by_email(request.user.username)
except: except:
peers = None peers = None
@@ -30,7 +30,7 @@ def logout_relay(request):
peer_id = request.GET.get('peer_id', '') peer_id = request.GET.get('peer_id', '')
try: try:
ccnet_rpc.remove_one_binding(request.user.username, peer_id) ccnet_threaded_rpc.remove_one_binding(request.user.username, peer_id)
except SearpcError, e: except SearpcError, e:
return go_error(request, e.msg) return go_error(request, e.msg)
@@ -76,7 +76,7 @@ def user_profile(request, user):
err_msg = '' err_msg = ''
try: try:
user_check = ccnet_rpc.get_emailuser(user) user_check = ccnet_threaded_rpc.get_emailuser(user)
except: except:
user_check = None user_check = None

View File

@@ -9,7 +9,7 @@ from auth.decorators import login_required
from django.contrib import messages from django.contrib import messages
from django.contrib.sites.models import Site, RequestSite from django.contrib.sites.models import Site, RequestSite
from pysearpc import SearpcError from pysearpc import SearpcError
from seaserv import seafserv_threaded_rpc, get_repo, ccnet_rpc from seaserv import seafserv_threaded_rpc, get_repo, ccnet_rpc, ccnet_threaded_rpc
from forms import RepoShareForm from forms import RepoShareForm
from models import AnonymousShare from models import AnonymousShare
@@ -63,7 +63,7 @@ def share_repo(request):
group_name = to_email.split(' ')[0] group_name = to_email.split(' ')[0]
group_creator = to_email.split(' ')[1] group_creator = to_email.split(' ')[1]
# get all the groups the user joined # get all the groups the user joined
groups = ccnet_rpc.get_groups(request.user.username) groups = ccnet_threaded_rpc.get_groups(request.user.username)
find = False find = False
for group in groups: for group in groups:
# for every group that user joined, if group name and # for every group that user joined, if group name and
@@ -117,7 +117,7 @@ def share_admin(request):
if not repo: if not repo:
continue continue
group_id = group_repo.props.group_id group_id = group_repo.props.group_id
group = ccnet_rpc.get_group(int(group_id)) group = ccnet_threaded_rpc.get_group(int(group_id))
if not group: if not group:
continue continue
repo.props.shared_email = group.props.group_name repo.props.shared_email = group.props.group_name

View File

@@ -10,7 +10,7 @@ from django.template.loader import render_to_string
from django.utils.hashcompat import sha_constructor from django.utils.hashcompat import sha_constructor
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from seaserv import ccnet_rpc, get_ccnetuser from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_ccnetuser
SHA1_RE = re.compile('^[a-f0-9]{40}$') SHA1_RE = re.compile('^[a-f0-9]{40}$')
@@ -162,7 +162,7 @@ class RegistrationManager(models.Manager):
if profile.activation_key_expired(): if profile.activation_key_expired():
ccnetuser = get_ccnetuser(userid=profile.emailuser_id) ccnetuser = get_ccnetuser(userid=profile.emailuser_id)
if not ccnetuser.is_active: if not ccnetuser.is_active:
ccnet_rpc.remove_emailuser(ccnetuser.username) ccnet_threaded_rpc.remove_emailuser(ccnetuser.username)
class RegistrationProfile(models.Model): class RegistrationProfile(models.Model):
""" """

View File

@@ -1,7 +1,7 @@
import service import service
from service import cclient, ccnet_rpc, monitor_rpc, seafserv_rpc, \ from service import cclient, ccnet_rpc, monitor_rpc, seafserv_rpc, \
seafserv_threaded_rpc seafserv_threaded_rpc, ccnet_threaded_rpc
from service import translate_peerid, translate_msgtime, translate_groupid, \ from service import translate_peerid, translate_msgtime, translate_groupid, \
translate_userid, translate_msgtime2, translate_time_sec, \ translate_userid, translate_msgtime2, translate_time_sec, \
translate_time_usec, get_peer_avatar_url, get_user_avatar_url, \ translate_time_usec, get_peer_avatar_url, get_user_avatar_url, \

View File

@@ -112,6 +112,7 @@ else:
pool = ccnet.ClientPool(CCNET_CONF_PATH) pool = ccnet.ClientPool(CCNET_CONF_PATH)
ccnet_rpc = ccnet.CcnetRpcClient(pool, req_pool=True) ccnet_rpc = ccnet.CcnetRpcClient(pool, req_pool=True)
ccnet_threaded_rpc = ccnet.CcnetThreadedRpcClient(pool, req_pool=True)
monitor_rpc = seafile.MonitorRpcClient(pool) monitor_rpc = seafile.MonitorRpcClient(pool)
seafserv_rpc = seafile.ServerRpcClient(pool, req_pool=True) seafserv_rpc = seafile.ServerRpcClient(pool, req_pool=True)
seafserv_threaded_rpc = seafile.ServerThreadedRpcClient(pool, req_pool=True) seafserv_threaded_rpc = seafile.ServerThreadedRpcClient(pool, req_pool=True)
@@ -122,7 +123,7 @@ def translate_userid(user_id):
try: try:
user = user_db[user_id] user = user_db[user_id]
except: except:
user = ccnet_rpc.get_user(user_id) user = ccnet_threaded_rpc.get_user(user_id)
if user: if user:
user_db[user_id] = user user_db[user_id] = user
else: else:
@@ -137,7 +138,7 @@ def translate_userid_simple(user_id):
try: try:
user = user_db[user_id] user = user_db[user_id]
except: except:
user = ccnet_rpc.get_user(user_id) user = ccnet_threaded_rpc.get_user(user_id)
if user: if user:
user_db[user_id] = user user_db[user_id] = user
else: else:
@@ -192,7 +193,7 @@ def get_peer_avatar_url(peer_id):
try: try:
user = user_db[peer.props.user_id] user = user_db[peer.props.user_id]
except: except:
user = ccnet_rpc.get_user(user_id) user = ccnet_threaded_rpc.get_user(user_id)
if user: if user:
user_db[user_id] = user user_db[user_id] = user
else: else:
@@ -203,7 +204,7 @@ def get_user_avatar_url(user_id):
try: try:
user = user_db[user_id] user = user_db[user_id]
except: except:
user = ccnet_rpc.get_user(user_id) user = ccnet_threaded_rpc.get_user(user_id)
if user: if user:
user_db[user_id] = user user_db[user_id] = user
else: else:
@@ -217,7 +218,7 @@ def translate_groupid(group_id):
try: try:
group = group_db[group_id] group = group_db[group_id]
except: except:
group = ccnet_rpc.get_group(group_id) group = ccnet_threaded_rpc.get_group(group_id)
if group: if group:
group_db[group_id] = group group_db[group_id] = group
else: else:
@@ -279,7 +280,7 @@ def get_peers_by_myrole(myrole):
return peers return peers
def get_users(): def get_users():
user_ids = ccnet_rpc.list_users() user_ids = ccnet_threaded_rpc.list_users()
if not user_ids: if not user_ids:
return [] return []
users = [] users = []
@@ -287,26 +288,26 @@ def get_users():
# too handle the ending '\n' # too handle the ending '\n'
if user_id == '': if user_id == '':
continue continue
user = ccnet_rpc.get_user(user_id) user = ccnet_threaded_rpc.get_user(user_id)
users.append(user) users.append(user)
return users return users
def get_user(user_id): def get_user(user_id):
user = ccnet_rpc.get_user(user_id) user = ccnet_threaded_rpc.get_user(user_id)
return user return user
def get_ccnetuser(username=None, userid=None): def get_ccnetuser(username=None, userid=None):
# Get emailuser from db # Get emailuser from db
if username: if username:
emailuser = ccnet_rpc.get_emailuser(username) emailuser = ccnet_threaded_rpc.get_emailuser(username)
if userid: if userid:
emailuser = ccnet_rpc.get_emailuser_by_id(userid) emailuser = ccnet_threaded_rpc.get_emailuser_by_id(userid)
if not emailuser: if not emailuser:
return None return None
# Check whether is business account # Check whether is business account
org = ccnet_rpc.get_org_by_user(emailuser.email) org = ccnet_threaded_rpc.get_org_by_user(emailuser.email)
emailuser.org = org emailuser.org = org
# And convert to ccnetuser # And convert to ccnetuser
@@ -317,7 +318,7 @@ def get_ccnetuser(username=None, userid=None):
def get_groups(): def get_groups():
"""Get group object list. """ """Get group object list. """
group_ids = ccnet_rpc.list_groups() group_ids = ccnet_threaded_rpc.list_groups()
if not group_ids: if not group_ids:
return [] return []
groups = [] groups = []
@@ -325,13 +326,13 @@ def get_groups():
# too handle the ending '\n' # too handle the ending '\n'
if group_id == '': if group_id == '':
continue continue
group = ccnet_rpc.get_group(group_id) group = ccnet_threaded_rpc.get_group(group_id)
groups.append(group) groups.append(group)
return groups return groups
def get_group(group_id): def get_group(group_id):
group = ccnet_rpc.get_group(group_id) group = ccnet_threaded_rpc.get_group(group_id)
if not group: if not group:
return None return None
group.members = group.props.members.split(" ") group.members = group.props.members.split(" ")
@@ -385,7 +386,7 @@ def get_branches(repo_id):
def get_binding_peerids(email): def get_binding_peerids(email):
"""Get peer ids of a given email""" """Get peer ids of a given email"""
try: try:
peer_ids = ccnet_rpc.get_binding_peerids(email) peer_ids = ccnet_threaded_rpc.get_binding_peerids(email)
except SearpcError: except SearpcError:
return [] return []
@@ -422,4 +423,4 @@ def check_group_staff(group_id_int, user_or_username):
if isinstance(user_or_username, CcnetUser): if isinstance(user_or_username, CcnetUser):
user_or_username = user_or_username.username user_or_username = user_or_username.username
return ccnet_rpc.check_group_staff(group_id_int, user_or_username) return ccnet_threaded_rpc.check_group_staff(group_id_int, user_or_username)

View File

@@ -18,7 +18,7 @@ from auth.decorators import login_required
from auth.forms import AuthenticationForm, PasswordResetForm, SetPasswordForm, \ from auth.forms import AuthenticationForm, PasswordResetForm, SetPasswordForm, \
PasswordChangeForm PasswordChangeForm
from auth.tokens import default_token_generator from auth.tokens import default_token_generator
from seaserv import ccnet_rpc, get_groups, get_users, get_repos, \ from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_groups, get_users, get_repos, \
get_repo, get_commits, get_branches, \ get_repo, get_commits, get_branches, \
seafserv_threaded_rpc, seafserv_rpc, get_binding_peerids, get_ccnetuser, \ seafserv_threaded_rpc, seafserv_rpc, get_binding_peerids, get_ccnetuser, \
get_group_repoids, check_group_staff get_group_repoids, check_group_staff
@@ -69,7 +69,7 @@ def validate_emailuser(emailuser):
""" """
try: try:
user = ccnet_rpc.get_emailuser(emailuser) user = ccnet_threaded_rpc.get_emailuser(emailuser)
except: except:
user = None user = None
@@ -97,7 +97,7 @@ def check_shared_repo(request, repo_id):
if repo.props.id == repo_id: if repo.props.id == repo_id:
return True return True
groups = ccnet_rpc.get_groups(request.user.username) groups = ccnet_threaded_rpc.get_groups(request.user.username)
# for every group that user joined... # for every group that user joined...
for group in groups: for group in groups:
# ...get repo ids in that group, and check whether repo ids contains that repo id # ...get repo ids in that group, and check whether repo ids contains that repo id
@@ -545,7 +545,7 @@ def myhome(request):
contacts = Contact.objects.filter(user_email=email) contacts = Contact.objects.filter(user_email=email)
# my groups # my groups
groups = ccnet_rpc.get_groups(email) groups = ccnet_threaded_rpc.get_groups(email)
groups_manage = [] groups_manage = []
groups_join = [] groups_join = []
for group in groups: for group in groups:
@@ -815,13 +815,13 @@ def sys_useradmin(request):
if not request.user.is_staff: if not request.user.is_staff:
raise Http404 raise Http404
users = ccnet_rpc.get_emailusers(-1,-1) users = ccnet_threaded_rpc.get_emailusers(-1,-1)
for user in users: for user in users:
if user.props.id == request.user.id: if user.props.id == request.user.id:
user.is_self = True user.is_self = True
# TODO: may add new is_org_user rpc # TODO: may add new is_org_user rpc
user.is_org_user = True if ccnet_rpc.get_org_by_user(user.email) else False user.is_org_user = True if ccnet_threaded_rpc.get_org_by_user(user.email) else False
return render_to_response( return render_to_response(
'sys_useradmin.html', { 'sys_useradmin.html', {
@@ -834,7 +834,7 @@ def org_useradmin(request):
if not request.user.org.is_staff: if not request.user.org.is_staff:
raise Http404 raise Http404
users = ccnet_rpc.get_org_emailusers(request.user.org.url_prefix, users = ccnet_threaded_rpc.get_org_emailusers(request.user.org.url_prefix,
0, sys.maxint) 0, sys.maxint)
for user in users: for user in users:
@@ -864,7 +864,7 @@ def user_info(request, email):
quota_usage = seafserv_threaded_rpc.get_user_quota_usage(email) quota_usage = seafserv_threaded_rpc.get_user_quota_usage(email)
try: try:
peers = ccnet_rpc.get_peers_by_email(email) peers = ccnet_threaded_rpc.get_peers_by_email(email)
for peer in peers: for peer in peers:
if not peer: if not peer:
continue continue
@@ -919,7 +919,7 @@ def user_remove(request, user_id):
ccnetuser = get_ccnetuser(userid=int(user_id)) ccnetuser = get_ccnetuser(userid=int(user_id))
if ccnetuser.org: if ccnetuser.org:
ccnet_rpc.remove_org_user(ccnetuser.org.org_id, ccnetuser.username) ccnet_threaded_rpc.remove_org_user(ccnetuser.org.org_id, ccnetuser.username)
ccnetuser.delete() ccnetuser.delete()
if request.user.is_staff: if request.user.is_staff:
@@ -983,7 +983,7 @@ def user_add(request):
if request.user.org: if request.user.org:
org_id = request.user.org.org_id org_id = request.user.org.org_id
ccnet_rpc.add_org_user(org_id, email, 0) ccnet_threaded_rpc.add_org_user(org_id, email, 0)
if hasattr(settings, 'EMAIL_HOST'): if hasattr(settings, 'EMAIL_HOST'):
send_user_add_mail(request, email, password) send_user_add_mail(request, email, password)
@@ -1020,7 +1020,7 @@ def sys_group_admin(request):
current_page = 1 current_page = 1
per_page = 25 per_page = 25
groups_plus_one = ccnet_rpc.get_all_groups(per_page * (current_page -1), groups_plus_one = ccnet_threaded_rpc.get_all_groups(per_page * (current_page -1),
per_page +1) per_page +1)
groups = groups_plus_one[:per_page] groups = groups_plus_one[:per_page]
@@ -1043,7 +1043,7 @@ def sys_org_admin(request):
if not request.user.is_staff: if not request.user.is_staff:
raise Http404 raise Http404
orgs = ccnet_rpc.get_all_orgs(0, sys.maxint) orgs = ccnet_threaded_rpc.get_all_orgs(0, sys.maxint)
return render_to_response('sys_org_admin.html', { return render_to_response('sys_org_admin.html', {
'orgs': orgs, 'orgs': orgs,
@@ -1061,7 +1061,7 @@ def org_group_admin(request):
current_page = 1 current_page = 1
per_page = 25 per_page = 25
groups_plus_one = ccnet_rpc.get_org_groups (request.user.org.org_id, groups_plus_one = ccnet_threaded_rpc.get_org_groups (request.user.org.org_id,
per_page * (current_page -1), per_page * (current_page -1),
per_page +1) per_page +1)
@@ -1095,7 +1095,7 @@ def org_remove(request, org_id):
# TODO: Remove repos in org's groups # TODO: Remove repos in org's groups
ccnet_rpc.remove_org(org_id_int) ccnet_threaded_rpc.remove_org(org_id_int)
return HttpResponseRedirect(reverse('sys_org_admin')) return HttpResponseRedirect(reverse('sys_org_admin'))
@@ -1106,11 +1106,11 @@ def org_info(request):
org = request.user.org org = request.user.org
org_members = ccnet_rpc.get_org_emailusers(org.url_prefix, 0, sys.maxint) org_members = ccnet_threaded_rpc.get_org_emailusers(org.url_prefix, 0, sys.maxint)
for member in org_members: for member in org_members:
member.short_username = member.email.split('@')[0] member.short_username = member.email.split('@')[0]
groups = ccnet_rpc.get_org_groups(org.org_id, 0, sys.maxint) groups = ccnet_threaded_rpc.get_org_groups(org.org_id, 0, sys.maxint)
return render_to_response('org_info.html', { return render_to_response('org_info.html', {
'org': org, 'org': org,