def setUp(self): super(TestTeam, self).setUp() self.user, _ = User.create_or_update( '1234f5', 'Tom Hopkins', '*****@*****.**', 'http://image.com/image.jpg') self.user_2, _ = User.create_or_update( '5432g1', 'Christy O\'Reiley', '*****@*****.**', 'http://image.com/image.jpg')
def lazy_register(loginza_user, is_active=True): user = User(first_name=loginza_user.first_name, last_name=loginza_user.last_name, email=loginza_user.email, is_active=is_active, ) user.save() profile = user.profile profile.mobile = '' profile.save() return user
def setUp(self): super(CRUDTestCase, self).setUp() self.APP = APP.test_client() self.header = {'Content-Type:': 'APPlication/json'} self.entity_id = 1 self.entity_class = 'Booking' self.user = User() self.content = 'test content' self.user = User(email='asd', last_name='asd', first_name='asd', user_id=1)
def setUp(self): super(TestViews, self).setUp() self.user, _ = User.create_or_update( '1234f5', 'Tom Hopkins', '*****@*****.**', 'http://image.com/image.jpg') team1, _ = Team.create_or_update( 'Team 1', [self.user]) team2, _ = Team.create_or_update( 'Team 2', [self.user])
def clean_email(self): email = self.cleaned_data["email"].lower() user = User.objects(email=email).only('is_active').first() if user: if user.is_active: raise forms.ValidationError(_("A user with that email already" " exists.")) else: raise forms.ValidationError("inactive") return email
def register(request): form = UserCreationForm(request.POST) if form.is_valid(): user = User( first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name'], email=form.cleaned_data['email'], is_active=True #False ) user.gen_activation_code() user.set_password(form.cleaned_data['password1']) user.save() profile = user.profile profile.mobile = form.cleaned_data['phone'] profile.save() #user.send_activation_code() # uncomment for send activation code invite_id = request.session.get('invite_id') if invite_id: invite = Invite.objects.with_id(invite_id) # временная заглушка для неуникальных приглашений inviter = User.objects.with_id(invite_id) if not invite and inviter: invite = Invite(sender=inviter) invite.save() # временная заглушка для неуникальных приглашений end if invite: if invite.recipient: messages.add_message( request, messages.WARNING, _('The invitation has already been used by another user' )) else: invite.register(user) else: messages.add_message(request, messages.WARNING, _('Incorrect reference to an invitation')) if user.is_active: login_form = LoginForm() request.session.set_test_cookie() return direct_to_template( request, 'registration_complete_without_activation.html', { 'login_form': login_form, }) return direct_to_template(request, 'registration_complete.html') return form
def cam_form(request, user, cam): if cam: initial = cam._data initial['type'] = cam.type.get_option_value() initial['operator'] = initial['operator'] and initial['operator'].id initial['tags'] = initial['tags'] and [i.id for i in initial['tags']] for tariff_type in Camera.TARIFF_FIELDS: value = getattr(cam, tariff_type) if value: initial[tariff_type] = value.id else: initial = {} if request.POST and request.POST.get('form', None) == 'cam': form = CameraForm(user, request.POST, initial=initial) if form.is_valid(): if not cam: cam = Camera() cam.owner = user old_tag_ids = [] elif form.cleaned_data['tags']: old_tag_ids = map(str, cam.tags) for k, v in form.cleaned_data.items(): setattr(cam, k, v) cam.type = CameraType.objects.get( id=form.cleaned_data['type'][:-2]) cam.operator = form.cleaned_data['operator'] and User.objects( id=form.cleaned_data['operator']).first() or None if form.cleaned_data['tags']: new_tag_ids = map(str, form.cleaned_data['tags']) CameraTag.calc_count(new_tag_ids, old_tag_ids) cam.tags = CameraTag.objects(id__in=form.cleaned_data['tags']) for tariff_type in Camera.TARIFF_FIELDS: value = form.cleaned_data[tariff_type] if value: value = Tariff.objects.get(id=value) assert value in getattr(Tariff, 'get_%s_list' % tariff_type)() setattr(cam, tariff_type, value) else: setattr(cam, tariff_type, None) cam.save() messages.add_message(request, messages.SUCCESS, _('Camera successfully updated')) return else: form = CameraForm(user, None, initial=initial) return dict(cam_form=form, camera=cam)
def cam_form(request, user, cam): if cam: initial = cam._data initial["type"] = cam.type.get_option_value() initial["operator"] = initial["operator"] and initial["operator"].id initial["tags"] = initial["tags"] and [i.id for i in initial["tags"]] for tariff_type in Camera.TARIFF_FIELDS: value = getattr(cam, tariff_type) if value: initial[tariff_type] = value.id else: initial = {} if request.POST and request.POST.get("form", None) == "cam": form = CameraForm(user, request.POST, initial=initial) if form.is_valid(): if not cam: cam = Camera() cam.owner = user old_tag_ids = [] elif form.cleaned_data["tags"]: old_tag_ids = map(str, cam.tags) for k, v in form.cleaned_data.items(): setattr(cam, k, v) cam.type = CameraType.objects.get(id=form.cleaned_data["type"][:-2]) cam.operator = ( form.cleaned_data["operator"] and User.objects(id=form.cleaned_data["operator"]).first() or None ) if form.cleaned_data["tags"]: new_tag_ids = map(str, form.cleaned_data["tags"]) CameraTag.calc_count(new_tag_ids, old_tag_ids) cam.tags = CameraTag.objects(id__in=form.cleaned_data["tags"]) for tariff_type in Camera.TARIFF_FIELDS: value = form.cleaned_data[tariff_type] if value: value = Tariff.objects.get(id=value) assert value in getattr(Tariff, "get_%s_list" % tariff_type)() setattr(cam, tariff_type, value) else: setattr(cam, tariff_type, None) cam.save() messages.add_message(request, messages.SUCCESS, _("Camera successfully updated")) return else: form = CameraForm(user, None, initial=initial) return dict(cam_form=form, camera=cam)
def register(request): form = UserCreationForm(request.POST) if form.is_valid(): user = User( first_name=form.cleaned_data["first_name"], last_name=form.cleaned_data["last_name"], email=form.cleaned_data["email"], is_active=False, ) user.gen_activation_code() user.set_password(form.cleaned_data["password1"]) user.save() profile = user.profile profile.mobile = form.cleaned_data["phone"] profile.save() user.send_activation_code() invite_id = request.session.get("invite_id") if invite_id: invite = Invite.objects.with_id(invite_id) # временная заглушка для неуникальных приглашений inviter = User.objects.with_id(invite_id) if not invite and inviter: invite = Invite(sender=inviter) invite.save() # временная заглушка для неуникальных приглашений end if invite: if invite.recipient: messages.add_message( request, messages.WARNING, _("The invitation has already been used by another user") ) else: invite.register(user) else: messages.add_message(request, messages.WARNING, _("Incorrect reference to an invitation")) return direct_to_template(request, "registration_complete.html") return form
def test_create_user(self): field = User.created_date mock_now = lambda: datetime(2015, 8, 1) with patch.object(field, 'default', new=mock_now): user, created = User.create_or_update( '1234f5', 'Tom Hopkins', '*****@*****.**', 'http://image.com/image.jpg') self.assertTrue(created) self.assertEqual(user.google_id, '1234f5') self.assertEqual(user.name, 'Tom Hopkins') self.assertEqual(user.email, '*****@*****.**') self.assertEqual(user.avatar, 'http://image.com/image.jpg') self.assertEqual(user.created_date, datetime(2015, 8, 1)) self.assertTrue(user.is_authenticated) self.assertTrue(user.is_active) self.assertFalse(user.is_anonymous)
def lost_password(request, template='social/lost_password.html'): if request.method == 'POST': form = LostPasswordForm(request.POST) if form.is_valid(): user = User.objects(email=form.cleaned_data['email']).first() if user: if user.is_active: user.gen_activation_code() user.save() user.send_restore_password_code() elif not user.is_banned: user.send_activation_code() messages.add_message(request, messages.SUCCESS, _('Email with a link sent to restore the address you specify.')) return redirect('social:index') else: form = LostPasswordForm() return direct_to_template(request, template , dict(form=form))
def register(request): form = UserCreationForm(request.POST) if form.is_valid(): user = User( first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name'], email=form.cleaned_data['email'], is_active=True#False ) user.gen_activation_code() user.set_password(form.cleaned_data['password1']) user.save() profile = user.profile profile.mobile = form.cleaned_data['phone'] profile.save() #user.send_activation_code() # uncomment for send activation code invite_id = request.session.get('invite_id') if invite_id: invite = Invite.objects.with_id(invite_id) # временная заглушка для неуникальных приглашений inviter = User.objects.with_id(invite_id) if not invite and inviter: invite = Invite(sender=inviter) invite.save() # временная заглушка для неуникальных приглашений end if invite: if invite.recipient: messages.add_message(request, messages.WARNING, _('The invitation has already been used by another user')) else: invite.register(user) else: messages.add_message(request, messages.WARNING, _('Incorrect reference to an invitation')) if user.is_active: login_form = LoginForm() request.session.set_test_cookie() return direct_to_template(request, 'registration_complete_without_activation.html', {'login_form': login_form,}) return direct_to_template(request, 'registration_complete.html') return form
def lost_password(request, template='social/lost_password.html'): if request.method == 'POST': form = LostPasswordForm(request.POST) if form.is_valid(): user = User.objects(email=form.cleaned_data['email']).first() if user: if user.is_active: user.gen_activation_code() user.save() user.send_restore_password_code() elif not user.is_banned: user.send_activation_code() messages.add_message( request, messages.SUCCESS, _('Email with a link sent to restore the address you specify.') ) return redirect('social:index') else: form = LostPasswordForm() return direct_to_template(request, template, dict(form=form))
def index(request): if not request.user.is_authenticated(): return _index_unreg(request) params = dict(request.GET.items()) if "kino" in params and params["kino"]: params["kino"] = request.GET.getlist("kino") if "page" in params: del params["page"] form = PeopleFilterForm(params or None) if params and form.is_valid(): filter_user_data = {} filter_profile_data = {} data = dict(form.cleaned_data) filter_user_data["is_active"] = True if data["first_name"]: filter_user_data["first_name__icontains"] = data["first_name"] if data["last_name"]: filter_user_data["last_name__icontains"] = data["last_name"] if data["gender"]: filter_profile_data["sex"] = data["gender"] if data["is_dating"]: filter_profile_data["is_dating"] = True if data["age_from"]: filter_profile_data["age__gte"] = data["age_from"] if data["age_to"]: filter_profile_data["age__lte"] = data["age_to"] if data["interests"]: filter_profile_data["interests__icontains"] = data["interests"] if data["kino"]: filter_profile_data["kino__in"] = data["kino"] if data["has_photo"]: filter_user_data["avatar__exists"] = True if data["is_online"]: filter_user_data.update({"last_access__gt": User.get_delta_time()}) if filter_profile_data: profiles = Profile.objects.filter(**filter_profile_data).only("user") if filter_user_data: user_ids = [profile.user.id for profile in profiles] filter_user_data["id__in"] = user_ids users = User.objects.filter(**filter_user_data) else: users = [profile.user for profile in profiles] else: users = User.objects.filter(**filter_user_data) users_count = len(users) else: users = User.objects(last_access__gt=User.get_delta_time(), is_active=True) users_count = User.objects(last_access__gt=User.get_delta_time(), is_active=True).count() objects = paginate(request, users, users_count, 24) if request.is_ajax(): return direct_to_template(request, "_user_list.html", {"objects": objects}) else: return direct_to_template(request, "index.html", {"objects": objects, "form": form})
def authenticate(self, email=None, password=None): user = User.objects(email=email).first() if user: if password and user.check_password(password): return user return None
def index(request): if not request.user.is_authenticated(): return _index_unreg(request) params = dict(request.GET.items()) if 'page' in params: del params['page'] form = PeopleFilterForm(params or None) if params and form.is_valid(): filter_user_data = {} filter_profile_data = {} data = dict(form.cleaned_data) filter_user_data['is_active'] = True if data['first_name']: filter_user_data['first_name__icontains'] = data['first_name'] if data['last_name']: filter_user_data['last_name__icontains'] = data['last_name'] if data['gender']: filter_profile_data['sex'] = data['gender'] if data['has_photo']: filter_user_data['avatar__exists'] = True if data['is_online']: filter_user_data.update({'last_access__gt': User.get_delta_time()}) if filter_profile_data: profiles = Profile.objects.filter( **filter_profile_data).only('user') if filter_user_data: user_ids = [profile.user.id for profile in profiles] filter_user_data['id__in'] = user_ids users = User.objects.filter(**filter_user_data) else: users = [profile.user for profile in profiles] else: users = User.objects.filter(**filter_user_data) users_count = len(users) else: users = User.objects(last_access__gt=User.get_delta_time(), is_active=True) users_count = User.objects(last_access__gt=User.get_delta_time(), is_active=True).count() objects = paginate(request, users, users_count, 24) if request.is_ajax(): return direct_to_template(request, '_user_list.html', { 'objects': objects, }) else: return direct_to_template(request, 'index.html', { 'objects': objects, 'form': form })
def index(request): if not request.user.is_authenticated(): return _index_unreg(request) params = dict(request.GET.items()) if 'page' in params: del params['page'] form = PeopleFilterForm(params or None) if params and form.is_valid(): filter_user_data = {} filter_profile_data = {} data = dict(form.cleaned_data) filter_user_data['is_active'] = True if data['first_name']: filter_user_data['first_name__icontains'] = data['first_name'] if data['last_name']: filter_user_data['last_name__icontains'] = data['last_name'] if data['gender']: filter_profile_data['sex'] = data['gender'] if data['has_photo']: filter_user_data['avatar__exists'] = True if data['is_online']: filter_user_data.update( {'last_access__gt': User.get_delta_time() }) if filter_profile_data: profiles = Profile.objects.filter(**filter_profile_data).only('user') if filter_user_data: user_ids = [profile.user.id for profile in profiles] filter_user_data['id__in'] = user_ids users = User.objects.filter(**filter_user_data) else: users = [profile.user for profile in profiles] else: users = User.objects.filter(**filter_user_data) users_count = len(users) else: users = User.objects(last_access__gt=User.get_delta_time(), is_active=True) users_count = User.objects(last_access__gt=User.get_delta_time(), is_active=True).count() objects = paginate(request, users, users_count, 24) if request.is_ajax(): return direct_to_template(request, '_user_list.html', { 'objects': objects, }) else: return direct_to_template(request, 'index.html', { 'objects': objects, 'form': form })
def validate_username(self, field): username = field.data if not re.match('[a-zA-Z][0-9a-zA-Z\.+-]+', username): raise ValidationError('Username has invalid Characters') if User.exists(username) or Group.exists(username): raise ValidationError('Username is already taken')