def save_user(validated_data): invitation = InvitationToUserAndWarehouseAdmin.objects.filter(email=validated_data['email']).first() if invitation is not None: if invitation.accepted: user = User(email=validated_data['email']) user.set_password(validated_data['password']) user.first_name = invitation.first_name user.last_name = invitation.last_name user.is_staff = False user.is_active = True user.role = invitation.role user.email_confirmation_token = generate_unique_key(user.email) user.save() if user.role == 'general': company_general_user = CompanyUser(user=user, company=invitation.company) company_general_user.save() elif user.role == 'warehouse': warehouse_admin = CompanyWarehouseAdmins(user=user, company=invitation.company) warehouse_admin.save() msg = "%s %s (%s) accepted your invitation." % ( invitation.first_name, invitation.first_name, invitation.role) from_invited_user = User.objects.filter(pk=invitation.user).first() print(from_invited_user) if from_invited_user.role == 'warehouse': notif = WarehouseAdminNotifications(user=from_invited_user.id, text=msg, seen=False) notif.save() notification = CompanyAdminsNotification(company=invitation.company, text=msg) notification.save() InvitationToUserAndWarehouseAdmin.objects.filter(email=validated_data['email']).delete() else: raise serializers.ValidationError({'detail': 'Account not accepted.'}) else: raise serializers.ValidationError({'detail': 'Invalid email'})
def save_user(validated_data): user = User(email=validated_data['email']) user.set_password(validated_data['password']) user.is_staff = False user.is_active = True user.email_confirmation_token = generate_unique_key(user.email) user.save()
def AlumnosView(request,pagina): if request.user.is_authenticated and request.user.is_staff and request.user.is_superuser: alumnos = User.objects.filter(status='Alumno') paginator = Paginator(alumnos,10) try: page=int(pagina) except: page = 1 try: alumnos=paginator.page(page) except (EmptyPage,InvalidPage): alumnos = paginator.page(paginator.num_pages) fecha = datetime.now() if fecha.month == 2 or fecha.month == 9: for alumno in alumnos: alumno.status_semestre = True alumno.save() info = "Iniciando" if request.method =="POST": if "buscando" in request.POST: buscando = request.POST['buscando'] try: alumnos = User.objects.filter(username__contains=buscando,status='Alumno') if alumnos.count() == 0: alumnos = User.objects.filter(nombres__contains=buscando,status='Alumno') info = 'Encontrados' conte = {'informacion':info,'alumnos':alumnos,'alumnos':alumnos} return render_to_response('Admin/alumnos.html',conte, context_instance=RequestContext(request)) except: pass if "id_product" in request.POST: try: id_producto = request.POST['id_product'] p = User.objects.get(pk=id_producto) p.delete()#eliminamos el registro return HttpResponseRedirect('/Administrador/alumnos/page/1/') except: return HttpResponseRedirect('/Administrador/alumnos/page/1/') if "actualizar" in request.POST: try: for alu in alumnos: if alu.status_semestre == True: sem = int(alu.semestre) if sem < 12: alu.semestre = sem+1 alu.status_semestre = False alu.save() return HttpResponseRedirect('/Administrador/alumnos/page/1/') except: return HttpResponseRedirect('/Administrador/alumnos/page/1/') formAlu = AlumnoForm(request.POST,request.FILES) if "nuevo" in request.POST: if formAlu.is_valid(): al = User() username = formAlu.cleaned_data['username'] password = formAlu.cleaned_data['password'] nombres = formAlu.cleaned_data['nombres'] apellidos = formAlu.cleaned_data['apellidos'] carrera = formAlu.cleaned_data['carrera'] semestre = formAlu.cleaned_data['semestre'] al.username = username al.set_password(password) al.nombres = nombres al.apellidos = apellidos al.carrera = carrera al.semestre = semestre al.status = "Alumno" al.is_staff = False al.is_actve = True al.is_superuser = False al.save() #Guardamos la informacion return HttpResponseRedirect('/Administrador/alumnos/page/1/') else: formAlu = AlumnoForm() info = 'Algun dato es erroneo' ctx = {'informacion':info,'formAlu':formAlu,'alumnos':alumnos,'fecha':fecha} return render_to_response('Admin/alumnos.html',ctx, context_instance=RequestContext(request)) else: formAlu = AlumnoForm() info = "Iniciando" ctx = {'formAlu':formAlu,'informacion':info,'alumnos':alumnos,'fecha':fecha} return render_to_response('Admin/alumnos.html',ctx, context_instance=RequestContext(request)) ctx = {'formAlu':formAlu,'informacion':info,'alumnos':alumnos,'fecha':fecha} return render_to_response('Admin/alumnos.html',ctx, context_instance=RequestContext(request)) else: return HttpResponseRedirect('/login/')
def MaestrosView(request,pagina): if request.user.is_authenticated and request.user.is_staff and request.user.is_superuser: maestros = User.objects.filter(status='Maestro') paginator = Paginator(maestros,10) try: page=int(pagina) except: page = 1 try: maestros=paginator.page(page) except (EmptyPage,InvalidPage): maestros = paginator.page(paginator.num_pages) info = "Iniciando" if request.method =="POST": if "buscando" in request.POST: try: buscando = request.POST['buscando'] maestros = User.objects.filter(nombres__contains=buscando,status='Maestro') info = 'Encontrados' conte = {'informacion':info,'form':form,'maestros':maestros,'maestros':maestros} return render_to_response('Admin/maestros.html',conte, context_instance=RequestContext(request)) except: pass if "id_product" in request.POST: try: id_producto = request.POST['id_product'] p = User.objects.get(pk=id_producto) p.delete()#eliminamos el registro return HttpResponseRedirect('/Administrador/maestros/page/1/') except: return HttpResponseRedirect('/Administrador/maestros/page/1/') form = UserForm(request.POST,request.FILES) if "nuevo" in request.POST: if form.is_valid(): m = User() username = form.cleaned_data['username'] password = form.cleaned_data['password'] nombres = form.cleaned_data['nombres'] apellidos = form.cleaned_data['apellidos'] m.username = username m.set_password(password) m.nombres = nombres m.apellidos = apellidos m.status = "Maestro" m.is_staff = True m.is_actve = True m.is_superuser = False m.save() #Guardamos la informacion return HttpResponseRedirect('/Administrador/maestros/page/1/') else: form = UserForm() info = 'Completa todos los datos' ctx = {'informacion':info,'form':form,'maestros':maestros} return render_to_response('Admin/maestros.html',ctx, context_instance=RequestContext(request)) else: form = UserForm() info = "Iniciando" ctx = {'form':form,'informacion':info,'maestros':maestros} return render_to_response('Admin/maestros.html',ctx, context_instance=RequestContext(request)) ctx = {'form':form,'informacion':info,'maestros':maestros} return render_to_response('Admin/maestros.html',ctx, context_instance=RequestContext(request)) else: return HttpResponseRedirect('/login/')
def register(self, request): """ # Register a new user. NOTE. the 'photo' param is required only in this documentation. --- request_serializer: RegisterSerializer response_serializer: UserSerializer parameters_strategy: merge consumes: - application/json produces: - application/json """ serializer = RegisterSerializer(data=request.data) serializer.is_valid(raise_exception=True) application = PlatformApp.objects.get( client_id=serializer.data["client_id"], client_secret=serializer.data["client_secret"], ) # ------------------------------------------------------------------------------ # ADD application perms in here # ------------------------------------------------------------------------------ _data = serializer.data.copy() del _data["client_id"] del _data["client_secret"] del _data["password"] registered, reason = self.is_user_already_registered(_data) if not registered: # Create user user = User(**_data) user.is_staff = False # Set activate user.is_active = not application.has_confirmation # Set password user.set_password(serializer.data["password"]) user.save() action = UserAction( user=user, type=UserAction.ACTION_ENABLE_ACCOUNT, ) action.token = get_uuid() action.creation_date, action.expiration_date = get_lapse() action.save() # Send email if application.has_confirmation: messaging.send_account_activation(request, action) else: messaging.send_welcome(request, action) user_registered_signal.send(sender=user.__class__, user=user) return Response(UserSerializer(user, many=False).data, status=status.HTTP_201_CREATED) else: raise ValidationError( detail=reason, code=codes.REGISTERED_USER, )