Beispiel #1
0
def create(request):
	if request.method == 'POST':
		form = CreateUserForm(request.POST)
		if form.is_valid():
			#creating user
			perms = { each : form.cleaned_data[each] 
					  for each in perms_to_classes.keys()}

			password = User.objects.make_random_password(length = 8)
			user = create_user(username = form.cleaned_data['email'],
							  password = password,
					 		  email = form.cleaned_data['email'],
						  	  perms = perms,
			)
			#sending mail
			send_templated_email(subject = 'Создан аккаунт', 
				email_template_name = 'user_manager_create_email.html',
				email_context = {'username' : user.username,
								 'password' : password,
								 'perms' : perms_to_list(perms),
								 'admin' : user.is_staff,
                                 'perms_to_language' : perms_to_language,
								 },
				recipients = user.email,
			)
			status = "success"
			return HttpResponse(status)
		
	else:
		form = CreateUserForm()
		
	return render(request, 'user_manager_create.html', {'form' : form})
def get_staff_members():
    staff = []
    #no regular users here
    staff_perms_list = perms_to_classes.keys()
    staff_perms_list.remove('regular')
    for key in staff_perms_list:
        staff = staff +\
        [each.data.user for each in globals()\
        [perms_to_classes[key]].objects.filter(is_active = True)]
    #c-style distinct() for lists
    staff = list(set(staff))
    staff = { each : perms_to_list(each.UserData.get_permissions())
              for each in staff }
    return staff
 def set_permissions(self, perms):
     for key in perms_to_classes.keys():
         getattr(self, perms_to_classes[key]).is_active = perms[key]
         getattr(self, perms_to_classes[key]).save()
     self.user.save()
def create_additional_data(instance, created, **kwargs):
    if created:
        for key in perms_to_classes.keys():
            globals()[key] = globals()[perms_to_classes[key]](data = instance)
            globals()[key].save()
 def get_permissions(self):
     perms = {key : getattr(self, perms_to_classes[key]).is_active
             for key in perms_to_classes.keys()}
     return perms