def invite_admins(request, group_id): #inorder to be a group admin, the user must be member of that group try: sending_user = request.user node = node_collection.one({'_id': ObjectId(group_id)}) if request.method == "POST": exst_users = [] new_users = [] users = [] deleted_users = node.group_admin groupname = node.name users_to_invite = request.POST['users'] not_status = request.POST['notif_status'] new_users_list = users_to_invite.split(",") for each in new_users_list: if each: users.append(int(each)) if users: for each in users: if each in node.group_admin: exst_users.append(each) else: if each not in node.group_admin: new_users.append(each) node.group_admin.append(each) node.save(groupid=group_id) # Send invitations according to not_status variable activ = "invitation to join in group" if not_status == "ON": for each in exst_users: bx = User.objects.get(id=each) msg = "'This is to inform you that " + sending_user.username + " has subscribed you to the group " + groupname + " as admin'" set_notif_val(request, group_id, msg, activ, bx) for each in new_users: bx = User.objects.get(id=each) msg = "'This is to inform you that " + sending_user.username + " has subscribed you to the group " + groupname + " as admin'" set_notif_val(request, group_id, msg, activ, bx) deleted_users = set(deleted_users) - set(users) activ = "Unsubscribed from group" if deleted_users: for each in deleted_users: bx = User.objects.get(id=each) node.group_admin.remove(each) msg = "'This is to inform you that " + sending_user.username + " has unsubscribed you from the group " + groupname + " as admin'" set_notif_val(request, group_id, msg, activ, bx) node.save(groupid=group_id) return HttpResponse("Success") else: coll_obj_list = [] lstusers = [] owner = node.created_by users = User.objects.all().order_by("email") user_names = [] st = [] user_grps = get_all_user_groups() usergrps = [] subscribed = get_all_subscribed_users(group_id) for each in user_grps: usergrps.append(each.created_by) for each in users: if each.id != owner and each.id not in node.group_admin and each.id in usergrps: if each.id in subscribed: st.append(each) else: if each.id != owner and each.id in usergrps: coll_obj_list.append(each) data_list = set_drawer_widget_for_users(st, coll_obj_list) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Exception in invite_admins in notify view " + str(e) return HttpResponse("Failure")
def invite_admins(request,group_id): #inorder to be a group admin, the user must be member of that group try: sending_user=request.user node = node_collection.one({'_id': ObjectId(group_id)}) if request.method == "POST": exst_users=[] new_users=[] users=[] deleted_users=node.group_admin groupname=node.name users_to_invite = request.POST['users'] not_status=request.POST['notif_status'] new_users_list=users_to_invite.split(",") for each in new_users_list: if each : users.append(int(each)) if users: for each in users: if each in node.group_admin: exst_users.append(each) else: if each not in node.group_admin: new_users.append(each) node.group_admin.append(each); node.save(groupid=group_id) try: # Send invitations according to not_status variable activ="invitation to join in group" if not_status == "ON": for each in exst_users: bx=User.objects.get(id=each) msg="'This is to inform you that " +sending_user.username+ " has subscribed you to the group " +groupname+" as admin'" set_notif_val(request,group_id,msg,activ,bx) for each in new_users: bx=User.objects.get(id=each) msg="'This is to inform you that " +sending_user.username+ " has subscribed you to the group " +groupname+" as admin'" set_notif_val(request,group_id,msg,activ,bx) except Exception as mailerr: pass deleted_users=set(deleted_users)-set(users) activ="Unsubscribed from group" if deleted_users: for each in deleted_users: bx=User.objects.get(id=each) node.group_admin.remove(each) try: msg="'This is to inform you that " +sending_user.username+ " has unsubscribed you from the group " +groupname+" as admin'" set_notif_val(request,group_id,msg,activ,bx) except Exception as mailerror: pass node.save(groupid=group_id) return HttpResponse("Success") else: coll_obj_list = [] lstusers=[] owner=node.created_by users=User.objects.all().order_by("email") user_names=[] st=[] user_grps=get_all_user_groups() usergrps=[] subscribed=get_all_subscribed_users(group_id) for each in user_grps: usergrps.append(each.created_by) for each in users: if each.id != owner and each.id not in node.group_admin and each.id in usergrps: if each.id in subscribed: st.append(each) else: if each.id !=owner and each.id in usergrps: coll_obj_list.append(each) from gnowsys_ndf.ndf.views.ajax_views import set_drawer_widget_for_users data_list=set_drawer_widget_for_users(st,coll_obj_list) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Exception in invite_admins in notify view "+str(e) return HttpResponse("Failure")
def invite_users(request, group_id): try: sending_user = request.user node = node_collection.one({'_id': ObjectId(group_id)}) if request.method == "POST": exst_users = [] new_users = [] users = [] deleted_users = node.author_set groupname = node.name users_to_invite = request.POST['users'] not_status = request.POST['notif_status'] new_users_list = users_to_invite.split(",") for each in new_users_list: if each: users.append(int(each)) if users: for each in users: if each in node.author_set: exst_users.append(each) else: if each not in node.author_set: new_users.append(each) node.author_set.append(each) node.save(groupid=group_id) for each in users: counter_obj = Counter.get_counter_obj( each, ObjectId(group_id)) counter_obj['is_group_member'] = True counter_obj.save() try: # Send invitations according to not_status variable activ = "invitation to join in group" if not_status == "ON": for each in exst_users: bx = User.objects.get(id=each) msg = "'This is to inform you that " + sending_user.username + " has subscribed you to the group " + groupname + "'" set_notif_val(request, group_id, msg, activ, bx) for each in new_users: bx = User.objects.get(id=each) msg = "'This is to inform you that " + sending_user.username + " has subscribed you to the group " + groupname + "'" set_notif_val(request, group_id, msg, activ, bx) except Exception as mailerr: pass deleted_users = set(deleted_users) - set(users) activ = "Unsubscribed from group" if deleted_users: for each in deleted_users: bx = User.objects.get(id=each) node.author_set.remove(each) try: msg = "'This is to inform you that " + sending_user.username + " has unsubscribed you from the group " + groupname + "'" set_notif_val(request, group_id, msg, activ, bx) except Exception as mailerror: pass node.save(groupid=group_id) return HttpResponse("Success") else: coll_obj_list = [] lstusers = [] owner = node.created_by users = User.objects.all().order_by("email") user_names = [] st = [] for each in users: if each.id != owner and each.id not in node.author_set: st.append(each) else: if each.id != owner: coll_obj_list.append(each) data_list = set_drawer_widget_for_users(st, coll_obj_list) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Exception in invite_users " + str(e) return HttpResponse("Failure")
def invite_users(request,group_id): try: sending_user=request.user node = node_collection.one({'_id': ObjectId(group_id)}) if request.method == "POST": exst_users=[] new_users=[] users=[] deleted_users=node.author_set groupname=node.name users_to_invite = request.POST['users'] not_status=request.POST['notif_status'] new_users_list=users_to_invite.split(",") for each in new_users_list: if each : users.append(int(each)) if users: for each in users: if each in node.author_set: exst_users.append(each) else: if each not in node.author_set: new_users.append(each) node.author_set.append(each); node.save(groupid=group_id) # Send invitations according to not_status variable activ="invitation to join in group" if not_status == "ON": for each in exst_users: bx=User.objects.get(id=each) msg="'This is to inform you that " +sending_user.username+ " has subscribed you to the group " +groupname+"'" set_notif_val(request,group_id,msg,activ,bx) for each in new_users: bx=User.objects.get(id=each) msg="'This is to inform you that " +sending_user.username+ " has subscribed you to the group " +groupname+"'" set_notif_val(request,group_id,msg,activ,bx) deleted_users=set(deleted_users)-set(users) activ="Unsubscribed from group" if deleted_users: for each in deleted_users: bx=User.objects.get(id=each) node.author_set.remove(each) msg="'This is to inform you that " +sending_user.username+ " has unsubscribed you from the group " +groupname+"'" set_notif_val(request,group_id,msg,activ,bx) node.save(groupid=group_id) return HttpResponse("Success") else: coll_obj_list = [] lstusers=[] owner=node.created_by users=User.objects.all().order_by("email") user_names=[] st=[] for each in users: if each.id != owner and each.id not in node.author_set: st.append(each) else: if each.id !=owner: coll_obj_list.append(each) data_list=set_drawer_widget_for_users(st,coll_obj_list) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Exception in invite_users "+str(e) return HttpResponse("Failure")