示例#1
0
def group_dismiss(request, group_id):
    """
    Dismiss a group, only group staff can perform this operation.
    """
    next = request.META.get('HTTP_REFERER', None)
    if not next:
        next = SITE_ROOT

    try:
        group_id_int = int(group_id)
    except ValueError:
        return HttpResponseRedirect(next)

    # Check whether user is group staff
    user = request.user.username
    if not ccnet_threaded_rpc.check_group_staff(group_id_int, user):
        return render_permission_error(request, _(u'Only administrators can dismiss the group'))

    try:
        ccnet_threaded_rpc.remove_group(group_id_int, user)
        seafserv_threaded_rpc.remove_repo_group(group_id_int, None)

        if request.user.org:
            org_id = request.user.org['org_id']
            url_prefix = request.user.org['url_prefix']
            ccnet_threaded_rpc.remove_org_group(org_id, group_id_int)
            return HttpResponseRedirect(reverse('org_groups',
                                                args=[url_prefix]))

    except SearpcError, e:
        return render_error(request, _(e.msg))
示例#2
0
文件: views.py 项目: weixu8/seahub
def org_group_remove(request, url_prefix, group_id):
    # Request header may missing HTTP_REFERER, we need to handle that case.
    next = request.META.get("HTTP_REFERER", None)
    if not next:
        next = seahub_settings.SITE_ROOT

    try:
        group_id_int = int(group_id)
    except ValueError:
        return HttpResponseRedirect(next)

    # Check whether is the org group.
    org_id = get_org_id_by_group(group_id_int)
    if request.user.org["org_id"] != org_id:
        return render_permission_error(
            request,
            _(u"This group doesn't belong to current organazation"),
            extra_ctx={"org": request.user.org, "base_template": "org_base.html"},
        )

    try:
        ccnet_threaded_rpc.remove_group(group_id_int, request.user.username)
        seafserv_threaded_rpc.remove_repo_group(group_id_int, None)
        ccnet_threaded_rpc.remove_org_group(org_id, group_id_int)
    except SearpcError, e:
        return render_error(request, e.msg, extra_ctx={"org": request.user.org, "base_template": "org_base.html"})
示例#3
0
 def remove_user(self, email=None):
     if not email:
         email = self.user.username
     try:
         User.objects.get(email).delete()
     except User.DoesNotExist:
         pass
     for g in seaserv.get_personal_groups_by_user(email):
         ccnet_threaded_rpc.remove_group(g.id, email)
示例#4
0
 def remove_user(self, email=None):
     if not email:
         email = self.user.username
     try:
         User.objects.get(email).delete()
     except User.DoesNotExist:
         pass
     for g in seaserv.get_personal_groups_by_user(email):
         ccnet_threaded_rpc.remove_group(g.id, email)
示例#5
0
    def tearDown(self):

        # remove common user's repo and group
        self.remove_group()
        self.remove_repo()

        # remove admin user's group
        ccnet_threaded_rpc.remove_group(self.admin_group_1_id, self.admin.email)

        # remove admin user's another group
        ccnet_threaded_rpc.remove_group(self.admin_group_2_id, self.admin.email)

        # remove amdin user's repo
        seafile_api.remove_repo(self.admin_repo_id)
示例#6
0
    def tearDown(self):

        # remove common user's repo and group
        self.remove_group()
        self.remove_repo()

        # remove admin user's group
        ccnet_threaded_rpc.remove_group(self.admin_group_1_id,
                                        self.admin.email)

        # remove admin user's another group
        ccnet_threaded_rpc.remove_group(self.admin_group_2_id,
                                        self.admin.email)

        # remove amdin user's repo
        seafile_api.remove_repo(self.admin_repo_id)
示例#7
0
def group_remove(request, group_id):
    """
    Remove group from groupadmin page. Only system admin can perform this
    operation.
    """
    # Check whether user is system admin.
    if not request.user.is_staff:
        return render_permission_error(request, _(u'Only administrators can delete the group.'))
        
    # Request header may missing HTTP_REFERER, we need to handle that case.
    next = request.META.get('HTTP_REFERER', None)
    if not next:
        next = SITE_ROOT

    try:
        group_id_int = int(group_id)
    except ValueError:
        return HttpResponseRedirect(next)

    try:
        ccnet_threaded_rpc.remove_group(group_id_int, request.user.username)
        seafserv_threaded_rpc.remove_repo_group(group_id_int, None)
    except SearpcError, e:
        return render_error(request, _(e.msg))
示例#8
0
 def remove_group(self, group_id=None):
     if not group_id:
         group_id = self.group.id
     return ccnet_threaded_rpc.remove_group(group_id, self.user.username)
示例#9
0
 def remove_group(self, group_id=None):
     if not group_id:
         group_id = self.group.id
     return ccnet_threaded_rpc.remove_group(group_id, self.user.username)
示例#10
0
 def remove_group(self):
     return ccnet_threaded_rpc.remove_group(self.group.id, self.user.username)
示例#11
0
 def remove_group(self):
     return ccnet_threaded_rpc.remove_group(self.group.id, self.user.username)