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")
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("")
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("")