Пример #1
0
def set_new_group_manager(request, group_slug, member_pk):
    group = GroupProfile.objects.get(slug=group_slug)
    new_manager = User.objects.get(pk=member_pk)
    try:
        old_manager_permissions = GroupPermission.objects.filter(group=group.group, permission_type=1)[0]
        old_manager_permissions.permission_type = 2
        old_manager_permissions.save()
    except:
        pass
    new_manager_permissions = GroupPermission.objects.filter(group=group.group, user=new_manager)[0]
    new_manager_permissions.permission_type = 1
    new_manager_permissions.save()
    create_notification_task(text = "You have been choosed to be the manager of the group %s!\n \
                    You can give this honor to someone else by going to group's settings page. \n \
                    The link to the group: http://%s/group/%s/" % (group.group.name, get_domain(), group.slug), entity=group, recipient=new_manager)
    return HttpResponse("SUCCESS")
Пример #2
0
def leave_group(request):
    if 'group_slug' in request.POST:
        group = GroupProfile.objects.get(slug=request.POST['group_slug'])
        permission = GroupPermission.objects.filter(group=group.group).filter(user=request.user)[0]
        if permission.permission_type == 1:
            new_manager_permission = GroupPermission.objects.filter(group=group.group).exclude(pk=permission.pk).order_by('pk')
            if new_manager_permission:
                new_manager_permission = new_manager_permission[0]
                new_manager_permission.permission_type = 1
                new_manager_permission.save()
                new_manager = new_manager_permission.user
                create_notification_task(text = "You have been choosed to be the manager of the group %s!\n \
                        You can give this honor to someone else by going to group's settings page. \n \
                        The link to the group: http://%s/group/%s/" % (group.group.name, get_domain(), group.slug), entity=group, recipient=new_manager)
        permission.delete()
        request.user.groups.remove(group.group)
    return HttpResponse("")
Пример #3
0
def join_group(request):
    if 'group_slug' in request.POST:
        group = GroupProfile.objects.get(slug=request.POST['group_slug'])
        if group.is_private:
            try:
                manager = GroupPermission.objects.filter(group=group.group, permission_type=1)[0].user
                key = base64.b64encode("%s_%s" % (request.user.pk, group.pk))
                create_notification_task(text = "User %s is asking your permission to join the group %s.\n \
                    Please click the following link if you approve:\n \
                    http://%s/approve/%s" % (request.user.username, group.group.name, get_domain(), key), entity=group, recipient = manager)
                return HttpResponse("")
            except:
                pass
        if not group.get_group_members():
            GroupPermission(group=group.group, user=request.user, permission_type=1).save()
        else:
            GroupPermission(group=group.group, user=request.user, permission_type=2).save()
        request.user.groups.add(group.group)
        return HttpResponse("Joined")
    return HttpResponse("")