def save(self, send_email=True): user = RegistrationProfile.objects.create_inactive_user(username=self.cleaned_data['username'], password=self.cleaned_data['password1'], email=self.cleaned_data['email'], site=None, send_email=send_email ) user.username = user.username.strip().lower() user.save() # remove spaces from username and change all to lowercase profile = Profile(user=user) profile.save() organization = Organization.objects.create( #create organization name = self.cleaned_data['organization'], trade_name = self.cleaned_data['organization'], short_name = slugify(self.cleaned_data['shortname']), ) default_place = Place.objects.create( #create default place label = organization.name, # use same name as label active = True, place_type = PlaceType.objects.get(description='Matriz'), # mandatory field organization = organization, # link place to this organization ) default_room = Room.objects.create( description = 'Sala 1', place = default_place, room_type=RoomType.objects.all()[0], ) person = Person.objects.create(name=self.cleaned_data['name'], user=user) #, organization=organization) person.organization.add(organization) profile.org_active = organization #set org as active profile.temp = self.cleaned_data['password1'] # temporary field (LDAP) profile.person = person profile.save() try: admin_role = Group.objects.get(name='administrator') Role.objects.create(profile=profile, organization=organization, group=admin_role) profile.user.groups.add(admin_role) except: pass try: professional_role = Group.objects.get(name='professional') Role.objects.create(profile=profile, organization=organization, group=professional_role) profile.user.groups.add(professional_role) except: pass careprof = CareProfessional() careprof.person = person pp = ProfessionalProfile() pi = ProfessionalIdentification() pp.save() pi.save() careprof.professionalProfile = pp careprof.professionalIdentification = pi careprof.save() return organization
def create_user(request): if not request.method == 'POST': raise Http404 if User.objects.filter( username=request.POST.get('username').strip().lower()): messages.success( request, _('Error adding user <b>%s</b>: Username already exists.') % request.POST.get('username').strip().lower()) return HttpResponseRedirect('/user/add/?clss=error') person = get_object_or_404( Person, pk=request.POST.get('id_person'), organization=request.user.get_profile().org_active) organization = request.user.get_profile().org_active username = request.POST.get('username').strip().lower() password = request.POST.get('password') pwd_conf = request.POST.get('pwd_conf') email = request.POST.get('email_send_user') permissions = request.POST.getlist('perms') if not password == pwd_conf: messages.success(request, _('Error: Supplied passwords are differents.')) return HttpResponseRedirect('/user/add/?clss=error') site_url = "http://%s" % get_current_site( request ).domain if not request.is_secure else "http://%s" % get_current_site( request).domain user = RegistrationProfile.objects.create_inactive_user( username, email, password, site_url) # this is required! without it, password will not set ok user.set_password(password) user.save(force_update=True) profile = Profile(user=user) profile.org_active = organization profile.temp = password # temporary field (LDAP) profile.person = person profile.save() # profile.organization.add(organization) define_user_permission(permissions, profile, organization, 'administrator') define_user_permission(permissions, profile, organization, 'professional') define_user_permission(permissions, profile, organization, 'secretary') define_user_permission(permissions, profile, organization, 'client') define_user_permission(permissions, profile, organization, 'student') messages.success( request, _('User created successfully. An email will be sent to the user with instructions on how to finish the registration process.' )) return HttpResponseRedirect('/user/%s/' % profile.person.id)
def create_user(request): if not request.method == 'POST': raise Http404 if User.objects.filter(username=request.POST.get('username').strip().lower()): messages.success(request, _('Error adding user <b>%s</b>: Username already exists.') % request.POST.get('username').strip().lower()) return HttpResponseRedirect('/user/add/?clss=error') person = get_object_or_404(Person, pk=request.POST.get('id_person'), organization=request.user.get_profile().org_active) organization = request.user.get_profile().org_active username = request.POST.get('username').strip().lower() password = request.POST.get('password') pwd_conf = request.POST.get('pwd_conf') email = request.POST.get('email_send_user') permissions = request.POST.getlist('perms') if not password == pwd_conf: messages.success(request, _('Error: Supplied passwords are differents.')) return HttpResponseRedirect('/user/add/?clss=error') site_url = "http://%s" % get_current_site(request).domain if not request.is_secure else "http://%s" % get_current_site(request).domain user = RegistrationProfile.objects.create_inactive_user(username, email, password, site_url) user.set_password(password) # this is required! without it, password will not set ok user.save(force_update=True) profile = Profile(user=user) profile.org_active = organization profile.temp = password # temporary field (LDAP) profile.person = person profile.save() #profile.organization.add(organization) if permissions.count('administrator'): Role.objects.create(profile=profile, organization=organization, group=Group.objects.get(name='administrator')) profile.user.groups.add(Group.objects.get(name='administrator')) if permissions.count('professional'): Role.objects.create(profile=profile, organization=organization, group=Group.objects.get(name='professional')) profile.user.groups.add(Group.objects.get(name='professional')) if permissions.count('secretary'): Role.objects.create(profile=profile, organization=organization, group=Group.objects.get(name='secretary')) profile.user.groups.add(Group.objects.get(name='secretary')) if permissions.count('client'): Role.objects.create(profile=profile, organization=organization, group=Group.objects.get(name='client')) profile.user.groups.add(Group.objects.get(name='client')) if permissions.count('student'): Role.objects.create(profile=profile, organization=organization, group=Group.objects.get(name='student')) profile.user.groups.add(Group.objects.get(name='student')) messages.success(request, _('User created successfully. An email will be sent to the user with instructions on how to finish the registration process.')) return HttpResponseRedirect('/user/%s/' % profile.person.id)