def create_user(request,offset): if request.method == 'POST': form_user = UserForm(request.POST) form_profile = UserProfileForm(request.POST) try: adm = request.POST['Administrador'] except: adm = None if ( form_user.is_valid() and form_profile.is_valid() ): system_id = int(offset) system = System.objects.get(pk=int(system_id)) new_user = form_user.save(commit=False) # Aplica o Hash na senha new_user = form_user.save() user = User.objects.get(username__exact=new_user) password = user.password user.set_password(password) message = u"Você foi cadastrado no sistema Infotrack com sucesso. \n\n" message += "Login: "******"\n" message += u"Senha provisória: "+password+"\n\n" send_mail('Cadastro em Infotrack', smart_str(message, encoding='utf-8', strings_only=False, errors='strict'), '*****@*****.**',[user.email], fail_silently=False) user.save() try: alert = request.POST["alert"] except: alert = None try: command = request.POST["command"] except: command = None if adm is not None: user.groups.add(1) elif (alert is not None and command is not None) and adm is None: user.groups.add(2) user.groups.add(3) elif command is not None and adm is None: user.groups.add(3) elif alert is not None and adm is None: user.groups.add(2) new_profile = form_profile.save(commit=False) new_profile.profile_id = new_user.id new_profile.is_first_login = True new_profile.save() system.users.add(new_user) users = User.objects.filter(system=system) return HttpResponseRedirect("/accounts/create/finish") else: form = UserCompleteForm(request.POST) return render_to_response("accounts/templates/create.html",locals(),context_instance=RequestContext(request),) else: #form_user = UserForm() #form_profile = UserProfileForm() form = UserCompleteForm(profile = None) form.fields["Administrador"] = forms.CharField(widget=forms.CheckboxInput(),help_text="Marque a caixa para atribuir privilégios administrativos ao usuário") return render_to_response("accounts/templates/create.html",locals(),context_instance=RequestContext(request),)
def edit(request,offset): user = User.objects.get(pk=int(offset)) profile = UserProfile.objects.get(profile=int(offset)) first_login = profile.is_first_login if request.method == 'POST': request.session["dont_check_first_login"] = True form = UserCompleteForm(request.POST,instance= user,profile=profile) form_user = UserForm(request.POST, instance = user) form_profile = UserProfileForm(request.POST, instance = profile) if form_user.is_valid() and form_profile.is_valid(): new_user = form_user.save(commit=False) new_user.set_password(new_user.password) new_user.save() try: alert = request.POST["alert"] except: alert = None try: command = request.POST["command"] except: command = None try: adm = request.POST['Administrador'] except: adm = None if adm is not None: user.groups.add(1) elif alert is not None and command is not None: user.groups.add(2) user.groups.add(3) elif command is not None: user.groups.add(3) elif alert is not None: user.groups.add(2) new_profile = form_profile.save() if (first_login == False): return HttpResponseRedirect ("/accounts/edit/finish") else: profile.is_first_login == False profile.save() return HttpResponseRedirect ("/accounts/edit/finish_firstlogin") return render_to_response("accounts/templates/edit.html",locals(),context_instance=RequestContext(request)) else: request.session["dont_check_first_login"] = False system = request.session['system'] users = User.objects.filter(system=system) profile = UserProfile.objects.get(profile=user) try: s = System.objects.get(users__id=user.id) except: s = System.objects.get(administrator__id = user.id) if isChild(s.id,[system,findChild(system)]): form = UserCompleteForm(instance = user,profile = profile) # ROOOTS BLOODY ROOTS if profile.is_first_login == False: form.fields["Administrador"] = forms.CharField(widget=forms.CheckboxInput(),help_text="Marque a caixa para atribuir privilégios administrativos ao usuário") else: title1 = "Primeiro acesso" title2 = "Para sua segurança solicitamos que mude sua senha antes de acessar o sistema." form.initial = dict( form.initial.items() + profile.__dict__.items()) form.initial["password"] = "" return render_to_response("accounts/templates/edit.html",locals(),context_instance=RequestContext(request)) else: return HttpResponseForbidden(u'Você não tem permissão para editar este usuário.')