def KLP_StudentGroup_Create(request, referKey): """ To Create New StudentGroup boundary/(?P<bounday>\d+)/schools/(?P<school>\d+)/class/creator/""" #Checking user Permissions for SG add KLP_user_Perm(request.user, "StudentGroup", "Add") buttonType = request.POST.get('form-buttonType') instObj = Institution.objects.get(id=referKey) group_typ = request.GET.get("group_typ") or request.POST.get("group_typ") #before StudentGroup.objects.all() KLP_Create_StudentGroup = KLP_StudentGroup( queryset=StudentGroup.objects.filter(pk=0), permitted_methods=('GET', 'POST'), responder=TemplateResponder( template_dir='viewtemplates', template_object_name='studentgroup', extra_context={ 'buttonType': buttonType, 'ParentKey': referKey, 'group_typ': group_typ, 'sch_typ': instObj.boundary.boundary_category.boundary_category }), receiver=XMLReceiver(), ) response = KLP_Create_StudentGroup.responder.create_form( request, form_class=StudentGroup_Form) return HttpResponse(response)
def KLP_Assessment_Create(request, referKey): """ To Create New Assessment programme/assessment/(?P<referKey>\d+)/creator/""" # Checking user Permissions for Assessment add KLP_user_Perm(request.user, "Assessment", "Add") # Get Current date for to pass for calendar now = datetime.date.today() buttonType = request.POST.get('form-buttonType') currentMont = int(now.strftime('%m')) endYear = int(now.strftime('%Y')) if currentMont > 4: endYear = endYear + 1 print referKey #before Assessment.objects.all() KLP_Create_Assessment = KLP_Assessment( queryset=Assessment.objects.filter(pk=0), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='viewtemplates', template_object_name='assessment', extra_context={ 'buttonType': buttonType, 'referKey': referKey, 'endDate': 30, 'endYear': endYear, 'endMonth': 'APRIL' }), receiver=XMLReceiver(), ) response = KLP_Create_Assessment.responder.create_form( request, form_class=Assessment_Form) print response return HttpResponse(response)
def KLP_User_Delete(request, user_id): """ This method is used to delete(deactivate) user""" # get logged in user user = request.user if user.id: # check logged in user permissions to delete user KLP_user_Perm(request.user, "Users", None) import random import string rangeNum = 8 # generate random string to replace existing password. randomStr = ''.join( random.choice(string.ascii_uppercase + string.digits) for x in range(rangeNum)) # get user object userObj = User.objects.get(pk=user_id) userObj.is_active = 0 # deactivate user # userObj.set_password(randomStr) # replace password with random string userObj.save() # save user object return render_to_response('viewtemplates/userAction_done.html', { 'user': request.user, 'selUser': userObj, 'message': 'User Deletion Successful', 'legend': 'Karnataka Learning Partnership', 'entry': "Add" }, context_instance=RequestContext(request)) else: # if user is not logged in redirect to login page return HttpResponseRedirect('/login/')
def KLP_Staff_Create(request, referKey): """ To Create New Staff institution/(?P<referKey>\d+)/staff/creator/""" # Checking user Permissions for Staff creation KLP_user_Perm(request.user, "Staff", "Add") buttonType = request.POST.get('form-buttonType') url = '/institution/%s/staff/creator/' % (referKey) extra_dict = {'buttonType': buttonType, 'referKey': referKey, 'url': url} extra_dict['institution_id'] = referKey extra_dict['stgrps'] = StudentGroup.objects.filter( institution__id=referKey, active=2).order_by("name", "section") institutionObj = Institution.objects.get(pk=referKey) if institutionObj.boundary.boundary_category.boundary_category.lower( ) == 'circle': # if the boundary category is circle get anganwadi staff types. extra_dict['institutionType'] = 'Anganwadi' Staff_Types = Staff_Type.objects.filter(categoryType=2) else: # if the boundary category is not circle get Institution staff types. extra_dict['institutionType'] = 'Institution' Staff_Types = Staff_Type.objects.filter(categoryType=1) extra_dict['Staff_Types'] = Staff_Types #before Staff.objects.all() KLP_Create_Staff = KLP_Staff( queryset=Staff.objects.filter(pk=0), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='viewtemplates', template_object_name='staff', extra_context=extra_dict), receiver=XMLReceiver(), ) response = KLP_Create_Staff.responder.create_form(request, form_class=Staff_Form) return HttpResponse(response)
def KLP_Student_Create(request, studentgroup_id, counter=0): """ To Create New Student boundary/(?P<bounday>\d+)/schools/(?P<school>\d+)/class/creator/""" # Checking user Permissions for Student add KLP_user_Perm(request.user, "Student", "Add") buttonType = request.POST.get('form-buttonType') model = StudentGroup.objects.get(id=studentgroup_id) mapStudent = request.GET.get('map_Student') or request.POST.get( 'mapStudent') or 0 assessment_id = request.GET.get('assessment_id') or request.POST.get( 'assessment_id') or 0 referKey = Institution.objects.get(id=model.institution.id).boundary.id #before Child.objects.all() queryset = Child.objects.filter(pk=0) print queryset KLP_Create_Student = KLP_Student( queryset, permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='viewtemplates', template_object_name='child', extra_context={ 'buttonType': buttonType, 'referKey': referKey, "studentgroup_id": studentgroup_id, 'studentgroup': model, 'modelName': "student", "mapStudent": mapStudent, 'assessment_id': assessment_id, 'counter': counter }), receiver=XMLReceiver(), ) response = KLP_Create_Student.responder.create_form(request, form_class=Child_Form) return HttpResponse(response)
def KLP_ReAssign_Permissions(request, permissionType): """ This method is used to reassign permissions to user""" # check logged in user permissions KLP_user_Perm(request.user, "Users", None) #get selected users list userList = request.POST.getlist('userId') permissions = ['Acess'] opStatus = "success" try: if permissionType == 'permissions': # if permissionsType is permissions assign instituions to user inst_list = request.POST.getlist( 'unassignedInst') # get selected institution list assignPermission( inst_list, userList, permissions, permissionType, None, True) # call assignPermission method to assign permission else: # else assign assessments to user asmList = request.POST.getlist( 'unassignedAsm') # get selected assesment and institution list for asm in asmList: asm_list = asm.split("_") inst_list = [asm_list[0]] assessmentId = asm_list[1] assignPermission( inst_list, userList, permissions, permissionType, assessmentId ) # call assignPermission method to assign permission except: opStatus = "fail" # if reassign permission fail return response as fail else return success. return HttpResponse(opStatus)
def KLP_Programme_Update(request, programme_id): """ To update Selected Programme programme/(?P<programme_id>\d+)/update/""" # Checking user Permissions for programme update KLP_user_Perm(request.user, "Programme", "Update") # Get Current date for to pass for calendar now = datetime.date.today() buttonType = request.POST.get('form-buttonType') currentMont = int(now.strftime('%m')) endYear = int(now.strftime('%Y')) if currentMont > 4: endYear = endYear + 1 #before Programme.objects.all() KLP_Edit_Programme = KLP_Programme( queryset=Programme.objects.filter(pk=programme_id), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='edittemplates', template_object_name='programme', extra_context={ 'buttonType': buttonType, 'endDate': 30, 'endYear': endYear, 'endMonth': 'APRIL' }), receiver=XMLReceiver(), ) response = KLP_Edit_Programme.responder.update_form( request, pk=programme_id, form_class=Programme_Form) return HttpResponse(response)
def KLP_StudentGroup_Update(request, studentgroup_id): """ To update Selected School school/(?P<school_id>\d+)/update/""" #Checking user Permissions for SG update KLP_user_Perm(request.user, "StudentGroup", "Update") buttonType = request.POST.get('form-buttonType') ParentKey = request.POST.get('form-0-institution') group_typ = request.GET.get("group_typ") or request.POST.get("group_typ") sgObj = StudentGroup.objects.get(pk=studentgroup_id) sch_typ = request.GET.get( "sch_typ") or sgObj.institution.boundary.boundary_category #before StudentGroup.objects.all() KLP_Edit_StudentGroup = KLP_StudentGroup( queryset=StudentGroup.objects.filter(pk=0), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='edittemplates', template_object_name='studentgroup', extra_context={ 'buttonType': buttonType, 'ParentKey': ParentKey, 'group_typ': group_typ, 'sch_typ': sch_typ }), receiver=XMLReceiver(), ) response = KLP_Edit_StudentGroup.responder.update_form( request, pk=studentgroup_id, form_class=StudentGroup_Form) return HttpResponse(response)
def read(self, request, model_name1, referKey): modelDict = { 'boundary': Boundary, 'institution': Institution, 'programme': Programme, 'assessment': Assessment, 'question': Question, 'studentgroup': StudentGroup, 'student': Student, 'staff': Staff, 'class': StudentGroup, 'center': StudentGroup } # Checking user Permissions KLP_user_Perm(request.user, modelDict[model_name1.lower()]._meta.module_name, "Delete") # Get Object based on id and model to delete obj = modelDict[model_name1.lower()].objects.get(pk=referKey) if model_name1.lower() == 'student': Student_StudentGroupRelation.objects.filter( student__id=referKey).update(active=0) if model_name1.lower() in ['class', 'center']: Staff_StudentGroupRelation.objects.filter( student_group__id=referKey).update(active=0) obj.active = 0 # Change active to 0(object is deleted) obj.save() # Save Data return HttpResponse('Deleted')
def KLP_Revoke_Permissions(request, permissionType): """ This method is used to revoke user permissions""" # check logged in user permissions KLP_user_Perm(request.user, "Users", None) # get user id to revoke permissions user_id = request.POST.get('userId') opStatus = "success" try: if permissionType == 'permissions': # if permissiontype is permissions revoke institution permissions for the user userObj = User.objects.get(pk=user_id) # get institution list to revoke instList = request.POST.getlist('assignedInst') for inst_id in instList: instObj = Institution.objects.get(pk=inst_id) # revoke permission for user userObj.revoke('Acess', instObj) else: # else revoke assessment permissions assignedAsmList = request.POST.getlist('assignedAsm') for userAsm_id in assignedAsmList: # get UserAssessmentPermissions object permObj = UserAssessmentPermissions.objects.get(pk=userAsm_id) permObj.access = False # revoke permissions permObj.save() except: opStatus = "fail" # if revoke permission fail return response as fail else return success. return HttpResponse(opStatus)
def KLP_User_Permissions(request, user_id): """ This method is used to show tree for the selected user to show permissions""" # get logged in user user = request.user if user.id: # check logged in user permissions KLP_user_Perm(request.user, "Users", None) # get user object userObj = User.objects.get(pk=user_id) # get all boundary types boundType_List = Boundary_Type.objects.all() try: sessionVal = int(request.session['session_sch_typ']) except: sessionVal = 0 # render user permissions template return render_to_response('viewtemplates/user_permissions.html', { 'userId': user_id, 'userName': userObj.username, 'boundType_List': boundType_List, 'home': True, 'session_sch_typ': sessionVal, 'entry': "Add", 'shPerm': True, 'title': 'KLP Permissions', 'legend': 'Karnataka Learning Partnership' }, context_instance=RequestContext(request)) else: # if user is not logged in redirect to login page return HttpResponseRedirect('/login/')
def KLP_Boundary_Create(request): """ To Create New Boundary boundary/creator/""" # Checking user Permissions KLP_user_Perm(request.user, "Boundary", "Add") buttonType = request.POST.get('form-buttonType') KLP_Create_Boundary =KLP_Boundary(queryset = Boundary.objects.filter(pk=0), permitted_methods = ('GET', 'POST'), responder = TemplateResponder(template_dir = 'viewtemplates', template_object_name = 'boundary', extra_context={'buttonType':buttonType}), receiver = XMLReceiver(),) response = KLP_Create_Boundary.responder.create_form(request,form_class=Boundary_Form) return HttpResponse(response)
def KLP_Boundary_Update(request, boundary_id): """ To update Selected Boundary boundary/(?P<boundary_id>\d+)/update/""" # Checking user Permissions KLP_user_Perm(request.user, "Boundary", "Update") buttonType = request.POST.get('form-buttonType') referKey = request.POST.get('form-0-boundary') KLP_Edit_Boundary =KLP_Boundary(queryset = Boundary.objects.filter(pk=boundary_id), permitted_methods = ('GET', 'POST'), responder = TemplateResponder(template_dir = 'edittemplates', template_object_name = 'boundary', extra_context={'buttonType':buttonType, 'referKey':referKey}), receiver = XMLReceiver(),) response = KLP_Edit_Boundary.responder.update_form(request, pk=boundary_id, form_class=Boundary_Form) return HttpResponse(response)
def KLP_audit(request): """ This method is used to show audit trail report for the users using fullhistory """ user = request.user # get logged in user # check user permissions to access audit trial report KLP_user_Perm(request.user, "Audit", None) # get all active(1) user to show in drop down. userList = User.objects.filter(is_active=1) respDict = { 'userList': userList, 'title': 'Karanataka Learning Partnership' } # check requested method if request.POST: # if request methos is post get selcted user from drop down selUser = request.POST.get('selUser') today = datetime.date.today() defaultDate = today.strftime("%d") + '-' + today.strftime( "%m") + '-' + today.strftime("%Y") # get start date and end date startDate = request.POST.get('startDate') endDate = request.POST.get('endDate') # if start date and end date are empty then default start date and end date are current date. if not startDate: startDate = defaultDate if not endDate: endDate = defaultDate respDict['startDate'] = startDate respDict['endDate'] = endDate respDict['selUser'] = int(selUser) strDate = startDate.split('-') enDate = endDate.split('-') # Query fullhistory table based on start date, end date and selected user fullHistoryList = FullHistory.objects.filter( action_time__range=(datetime.date(int(strDate[2]), int(strDate[1]), int(strDate[0])), datetime.date(int(enDate[2]), int(enDate[1]), int(enDate[0]))), request__user_pk=selUser) respDict['fullHistoryList'] = fullHistoryList # return reponse to template return render_to_response('viewtemplates/auditTrial.html', respDict, context_instance=RequestContext(request)) return render_to_response('viewtemplates/auditTrial.html', respDict, context_instance=RequestContext(request))
def KLP_Staff_Update(request, staff_id): """ To update Selected staff staff/(?P<staff_id>\d+)/update/""" # Checking user Permissions for Staff update KLP_user_Perm(request.user, "Staff", "Update") buttonType = request.POST.get('form-buttonType') referKey = request.POST.get('form-0-boundary') querysetstaff = Staff.objects.filter(pk=staff_id) staff = querysetstaff[0] #Staff.objects.get(pk=staff_id) stgrps = StudentGroup.objects.filter(institution=staff.institution, active=2) institutionObj = staff.institution if institutionObj.boundary.boundary_category.boundary_category.lower( ) == 'circle': # if the boundary category is circle get anganwadi staff types. institutionType = 'Anganwadi' Staff_Types = Staff_Type.objects.filter(categoryType=2) else: # if the boundary category is not circle get Institution staff types. institutionType = 'Institution' Staff_Types = Staff_Type.objects.filter(categoryType=1) #before Staff.objects.all() KLP_Edit_Staff = KLP_Staff( queryset=querysetstaff, permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='edittemplates', template_object_name='staff', extra_context={ 'buttonType': buttonType, 'referKey': referKey, 'stgrps': stgrps, 'institutionType': institutionType, 'Staff_Types': Staff_Types }), receiver=XMLReceiver(), ) response = KLP_Edit_Staff.responder.update_form(request, pk=staff_id, form_class=Staff_Form) return HttpResponse(response)
def KLP_Institution_Create(request, referKey): """ To Create New Institution boundary/(?P<referKey>\d+)/institution/creator/""" # Checking user Permissions KLP_user_Perm(request.user, "Institution", "Add") # Get Button Type buttonType = request.POST.get('form-buttonType') selCategoryTyp = request.POST.get('form-0-cat') if selCategoryTyp: selCategoryTyp = int(selCategoryTyp) # get parent boundary object for institution. boundaryObj = Boundary.objects.get(pk=referKey) institutionType = 'Institution' categoryType = 1 if boundaryObj.boundary_category.boundary_category.lower() == 'circle': # if boundary category is circle then institutionType is Anganwadi and categoryType is 2 else institutionType is Institution and categoryType is 1 institutionType = 'Anganwadi' categoryType = 2 # Query for Institution Category based on categoryType categoryList = Institution_Category.objects.filter( categoryType=categoryType) #before Institution.objects.all() KLP_Create_Institution = KLP_Institution( queryset=Institution.objects.filter(pk=0), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='viewtemplates', template_object_name='institution', extra_context={ 'buttonType': buttonType, 'referKey': referKey, 'institutionType': institutionType, 'categoryList': categoryList, 'selCategoryTyp': selCategoryTyp }), receiver=XMLReceiver(), ) response = KLP_Create_Institution.responder.create_form( request, form_class=Institution_Form) return HttpResponse(response)
def KLP_Users_list(request): """ This method is used to list out active(1) users other than staff and super users""" # get logged in user user = request.user if user.id: # check logged in user permissions, to get user list KLP_user_Perm(request.user, "Users", None) # get all active(1) users list other than staff and super user order by username user_list = User.objects.filter(is_staff=0, is_superuser=0).order_by("username") # render show users form with users list return render_to_response('viewtemplates/show_users_form.html', { 'user_list': user_list, 'user': user, 'title': 'KLP Users', 'legend': 'Karnataka Learning Partnership', 'entry': "Add" }, context_instance=RequestContext(request)) else: # if user is not logged in redirect to login page return HttpResponseRedirect('/login/')
def KLP_User_Activate(request, user_id): """ This method is used to (activate) user""" # get logged in user user = request.user if user.id: # check logged in user permissions to delete user KLP_user_Perm(request.user, "Users", None) userObj = User.objects.get(pk=user_id) userObj.is_active = 1 # activate user userObj.save() # save user object return render_to_response('viewtemplates/userAction_done.html', { 'user': request.user, 'selUser': userObj, 'message': 'User Activated Successfully', 'legend': 'Karnataka Learning Partnership', 'entry': "Add" }, context_instance=RequestContext(request)) else: # if user is not logged in redirect to login page return HttpResponseRedirect('/login/')
def KLP_Question_Update(request, question_id): """ To update Selected Question question/(?P<question_id>\d+)/update/""" # Checking user Permissions for Question Update KLP_user_Perm(request.user, "Question", "Update") # Get Button Type buttonType = request.POST.get('form-buttonType') referKey = request.POST.get('form-0-assessment') #before Question.objects.all() KLP_Edit_Question = KLP_Question( queryset=Question.objects.filter(pk=question_id), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='edittemplates', template_object_name='question', extra_context={ 'buttonType': buttonType, 'referKey': referKey }), receiver=XMLReceiver(), ) response = KLP_Edit_Question.responder.update_form( request, pk=question_id, form_class=Question_Form) return HttpResponse(response)
def KLP_Student_Update(request, student_id, counter=0): """ To update Selected student student/(?P<student_id>\d+)/update/""" # Checking user Permissions for Student update KLP_user_Perm(request.user, "Student", "Update") buttonType = request.POST.get('form-buttonType') #before Child.objects.all() KLP_Edit_Student = KLP_Student( queryset=Child.objects.filter(pk=student_id), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='edittemplates', template_object_name='child', extra_context={ 'buttonType': buttonType, 'modelName': "student", 'counter': counter }), receiver=XMLReceiver(), ) response = KLP_Edit_Student.responder.update_form(request, pk=student_id, form_class=Child_Form) return HttpResponse(response)
def KLP_Question_Create(request, referKey): """ To Create New Question assessment/question/(?P<referKey>\d+)/creator/""" # Checking user Permissions for Question add KLP_user_Perm(request.user, "Question", "Add") buttonType = request.POST.get('form-buttonType') # Get Button Type # get number of questions under assessments for question order order = Question.objects.filter(assessment__id=referKey).count() + 1 #before Question.objects.all() KLP_Create_Question = KLP_Question( queryset=Question.objects.filter(pk=0), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='viewtemplates', template_object_name='question', extra_context={ 'buttonType': buttonType, 'referKey': referKey, 'order': order }), receiver=XMLReceiver(), ) response = KLP_Create_Question.responder.create_form( request, form_class=Question_Form) return HttpResponse(response)
def KLP_Institution_Update(request, institution_id): """ To update Selected Institution institution/(?P<institution_id>\d+)/update/""" # Checking user Permissions KLP_user_Perm(request.user, "Institution", "Update") buttonType = request.POST.get('form-buttonType') referKey = request.POST.get('form-0-boundary') selCategoryTyp = request.POST.get('form-0-cat') if selCategoryTyp: selCategoryTyp = int(selCategoryTyp) institutionObj = Institution.objects.get(id=institution_id) institutionType = 'Institution' categoryType = 1 if institutionObj.boundary.boundary_category.boundary_category == 'Circle': institutionType = 'Anganwadi' categoryType = 2 categoryList = Institution_Category.objects.filter( categoryType=categoryType) #before Institution.objects.all() KLP_Edit_Institution = KLP_Institution( queryset=Institution.objects.filter(pk=institution_id), permitted_methods=('GET', 'POST'), responder=TemplateResponder(template_dir='edittemplates', template_object_name='institution', extra_context={ 'buttonType': buttonType, 'referKey': referKey, 'institutionType': institutionType, 'categoryList': categoryList, 'selCategoryTyp': selCategoryTyp }), receiver=XMLReceiver(), ) response = KLP_Edit_Institution.responder.update_form( request, pk=institution_id, form_class=Institution_Form) return HttpResponse(response)
def read(self, request, model_name1, referKey): modelDict = { 'boundary': Boundary, 'institution': Institution, 'programme': Programme, 'assessment': Assessment, 'question': Question, 'studentgroup': StudentGroup, 'student': Student, 'staff': Staff, 'class': StudentGroup, 'center': StudentGroup } # Checking user Permissions KLP_user_Perm(request.user, modelDict[model_name1.lower()]._meta.module_name, "Delete") # Get Object based on id and model to delete obj = modelDict[model_name1.lower()].objects.get(pk=referKey) if model_name1.lower() == 'boundary': flag = obj.getChild(obj.boundary_type) else: flag = obj.getChild() """if model_name1.lower() == 'student': Student_StudentGroupRelation.objects.filter(student__id = referKey).update(active=0) if model_name1.lower() in [ 'class','center']: Staff_StudentGroupRelation.objects.filter(student_group__id = referKey).update(active=0) """ if flag: message = model_name1.lower( ) + " has child objects.So can not delete it.First delete the child object,then try to delete it" else: obj.active = 0 # Change active to 0(object is deleted) obj.save() # Save Data message = "Deleted" return HttpResponse(message)
def KLP_Assign_Permissions(request): """ This method is used to assign permissions""" """ Check logged in user permissions to assign permissions""" KLP_user_Perm(request.user, "Users", None) respDict = {} # get selected users list to assign permissions deUserList = request.POST.getlist('assignToUser') #get selected permissions list permissions = request.POST.getlist('userPermission') # get permission type receiver = settings.REPORTMAIL_RECEIVER receiver = ','.join(str(v1) for v1 in receiver) message = "A mail will be sent to %s as soon as all the permissions are assigned" % ( receiver) permissionType = request.POST.get('permissionType') # get assessment Id to assign assessment permissions assessmentId = request.POST.get('assessmentId') # get boundary category bound_cat = request.POST.get('bound_cat') # get selected institutions list inst_list = request.POST.getlist('instName') # get selected boundaries list bound_list = request.POST.getlist('boundaryName') # get assessment permission (True or False) assessmentPerm = request.POST.get('assessmentPerm') print deUserList, permissions, message, permissionType, assessmentId, bound_cat, inst_list, bound_list, assessmentPerm count, asmCount, assignedAsmIds = 0, 0, [] bound_list = ','.join(str(v1) for v1 in bound_list if v1 > 0) permissions = ','.join(str(v1) for v1 in permissions if v1 > 0) deUserList = ','.join(str(v1) for v1 in deUserList if v1 > 0) if not deUserList: # If no users selected respond back with error message (Select Atleast One User) respDict['respMsg'] = 'Select Atleast One User' respDict['isSuccess'] = False elif not permissions: # if permissions not selected respond back with error message (Select Atleast One Permission) respDict['respMsg'] = 'Select Atleast One Permission' respDict['isSuccess'] = False elif bound_cat in ['district', 'block', 'project']: # if bound category in 'district', 'block', 'project' check for boundary list if not bound_list: # if boundary list is empty respond back with error message (Select Atleast One Boundary) respDict['respMsg'] = 'Select Atleast One Boundary' respDict['isSuccess'] = False else: #bound_list=','.join(str(v1) for v1 in bound_list if v1 > 0) Popen([ "python", "/home/klp/production/manage.py", "KLP_assignPermissions", str(inst_list), str(deUserList), str(permissions), str(permissionType), str(assessmentId), str(assessmentPerm), bound_cat, bound_list, request.user.username ]) #call(["/home/c2staging/c2staging/bin/python" ,"/home/c2staging/c2staging/c2staging/manage.py","KLP_assignPermissions",str(inst_list),str(deUserList),str(permissions),str(permissionType),str(assessmentId),str(assessmentPerm),bound_cat,bound_list]) respDict[ 'respMsg'] = message #'Assigned Permissions successfully for %s Institutions' %(count) respDict['isSuccess'] = True #Tosendmailteam(inst_list,deUserList,permissions,permissionType,assessmentId,assessmentPerm) else: # if bound category in 'cluste' or 'circle' check for institution list if not inst_list: # if institutions list is empty respond back with error message (Select Atleast One Institution) respDict['respMsg'] = 'Select Atleast One Institution' respDict['isSuccess'] = False else: # get count of institutions to show count of assigned institution objects to user count = count + len(inst_list) # call assignPermission method to assign permissions inst_list = ','.join(str(v1) for v1 in inst_list if v1 > 0) print "FDFDF", bound_cat, bound_list, "HREEEEEEE" Popen([ "python", "/home/klp/production/manage.py", "KLP_assignPermissions", str(inst_list), str(deUserList), str(permissions), str(permissionType), str(assessmentId), str(assessmentPerm), bound_cat, str(bound_list).strip(), request.user.username ]) respDict[ 'respMsg'] = message #'Assigned Permissions successfully for %s Institutions' %(count) respDict['isSuccess'] = True #Tosendmailteam(inst_list,deUserList,permissions,permissionType,assessmentId,assessmentPerm) return HttpResponse(simplejson.dumps(respDict), content_type='application/json; charset=utf-8')
def KLP_Institution_Boundary(request, boundary_id, permissionType, assessment_id=None): """ To List Institutions Under Boundary to Assign Permissions to the User """ user = request.user # get logged in user # Checking user Permissions KLP_user_Perm(request.user, "Users", None) klp_UserGroups = user.groups.all() # Get all user groups klp_GroupsList = ['%s' % (usergroup.name) for usergroup in klp_UserGroups] if user.is_superuser or 'AdminGroup' in klp_GroupsList: # if user is super user or in AdminGroup # Get all users in Data Entry Executive, Data Entry Operator groups users = User.objects.filter( groups__name__in=['Data Entry Executive', 'Data Entry Operator'], is_active=1).order_by("username") # get Selected boundary object boundaryObj = Boundary.objects.get(id=boundary_id) respDict = { 'users': users, 'boundary': boundaryObj, 'permissionType': permissionType, 'url': request.path } # get Selected Boundary Category. bound_cat = boundaryObj.boundary_category.boundary_category.lower() respDict['bound_cat'] = bound_cat if permissionType == 'permissions': # If permissionType is permissions do.. if bound_cat in ['district', 'block', 'project']: # if bound_cat in "district, block, project" get active(2) child boundaries respDict['boundary_list'] = Boundary.objects.filter( parent=boundaryObj, active=2).distinct() else: # else get all active(2) child Institutions respDict['institution_list'] = Institution.objects.filter( boundary=boundaryObj, active=2).distinct() else: # If permissionType is not permissions # Get All active(2) Mapped Sg's studentgroup_list = Assessment_StudentGroup_Association.objects.filter( assessment__id=assessment_id, active=2).values_list('student_group', flat=True).distinct() # Get Institutions based Sg's map_institutions_list = StudentGroup.objects.filter( id__in=studentgroup_list, active=2).values_list('institution__id', flat=True).distinct() if bound_cat == 'district': # if bound_cat is district query block or project level boundaries boundary_list = Boundary.objects.filter( institution__pk__in=map_institutions_list, active=2, parent__parent=boundaryObj).values_list( 'parent__id', flat=True).distinct() respDict['boundary_list'] = Boundary.objects.filter( id__in=boundary_list, active=2).distinct() elif bound_cat in ['block', 'project']: # if bound_cat in block or project query circle or cluster level boundaries respDict['boundary_list'] = Boundary.objects.filter( institution__pk__in=map_institutions_list, active=2, parent=boundaryObj).distinct() else: # else Query Institutions respDict['institution_list'] = Institution.objects.filter( id__in=map_institutions_list, boundary=boundaryObj, active=2).distinct() respDict['assessmentId'] = assessment_id return render_to_response('viewtemplates/institution_list.html', respDict, context_instance=RequestContext(request)) else: return HttpResponse('Insufficient Priviliges!')