def create_user_from_weibo(request, template_name='register/create_user_from_weibo.html' ): oauth_access_token = request.session.get('oauth_access_token', None) if request.user.is_authenticated() or oauth_access_token is None: return HttpResponseRedirect(reverse('home.views.index')) client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=_get_weibo_callback_url(request)) client.set_access_token(oauth_access_token['access_token'], oauth_access_token['expires_in']) weibo_user = client.get.users__show(uid=oauth_access_token['uid']) weibo_username = weibo_user.screen_name template_var = {} form = RegistrationForm(initial={'username': weibo_username}) if request.method == 'POST': form = RegistrationForm(request.POST.copy()) if request.method == 'POST': if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password'] user = User.objects.create_user(username, email, password) user.is_active = True user.save() profile = UserProfile() profile.user = user profile.song_ord_filed = 'post_datetime' profile.save() #weibo信息记录 w_user = WeiboUser() w_user.user = user w_user.weibo_user_id = oauth_access_token['uid'] w_user.weibo_username = weibo_username w_user.oauth_access_token = oauth_access_token['access_token'] w_user.save() #发微博提示 if request.POST.get('update_msg'): msg = request.POST.get('bind_msg')[0:140] client.post.statuses__update(status=msg) user = authenticate(username=username, password=password) auth_login(request, user) return HttpResponseRedirect(reverse('songs.views.my_home')) template_var['form'] = form template_var['weibo_username'] = weibo_username return render_to_response(template_name, template_var, context_instance=RequestContext(request))
def save(self,request): if self.cleaned_data['city'] or self.cleaned_data['website'] or self.cleaned_data['intro'] or self.cleaned_data['qq'] or self.cleaned_data['msn'] or self.cleaned_data['avatar']: current_user = request.user try: profile = current_user.get_profile() except UserProfile.DoesNotExist: profile = None if not profile: profile = UserProfile() profile.user = current_user profile.song_ord_filed = 'post_datetime' profile.city = self.cleaned_data['city'] profile.website = self.cleaned_data['website'] profile.intro = self.cleaned_data['intro'] profile.qq = self.cleaned_data['qq'] profile.msn = self.cleaned_data['msn'] if 'avatar' in request.FILES: #删除掉原头像 import os if profile and profile.avatar and os.path.exists(profile.avatar.path): os.remove(profile.avatar.path) profile.avatar = self.cleaned_data['avatar']#request.FILES["avatar"] profile.save() if self.cleaned_data['username'] != current_user.username: current_user.username = self.cleaned_data['username'] current_user.save()
def active_user(request, uidb36=None, token=None, template_name='register/activation_confirm.html', token_generator=default_token_generator, current_app=None, extra_context=None): """ View that checks the hash in a active user link and make user to be active """ assert uidb36 is not None and token is not None # checked by URLconf try: uid_int = base36_to_int(uidb36) user = User.objects.get(id=uid_int) except (ValueError, User.DoesNotExist): user = None if user is not None and token_generator.check_token(user, token): validlink = True user.is_active = True user.save() #初始化userprofile profile_count = UserProfile.objects.filter(user=user).count() if profile_count == 0: profile = UserProfile() profile.user = user profile.song_ord_filed = 'post_datetime' profile.save() else: validlink = False context = { 'validlink': validlink, } context.update(extra_context or {}) return render_to_response(template_name, context, context_instance=RequestContext(request, current_app=current_app))
def register(self, request, **kwargs): if Site._meta.installed: site = Site.objects.get_current() else: site = RequestSite(request) print site user = User() user.username = kwargs['username'] user.email = kwargs['email'] password = kwargs['password1'] user.set_password(password) user.first_name = kwargs['first_name'] user.last_name = kwargs['last_name'] user.is_active = False user.save() profile_user = UserProfile() # Любое совпадение наименования полей и аргументов- случайно :), так # проще не ошибиться profile_user.country = kwargs['country'] profile_user.city = kwargs['city'] profile_user.company = kwargs['company'] profile_user.dokladchik = kwargs['dokladchik'] profile_user.surname = kwargs['surname'] profile_user.job = kwargs['job'] profile_user.accepted_eula = kwargs['accepted_eula'] profile_user.user = user profile_user.save() prof = RegistrationProfile.objects.create_profile(user) prof.send_activation_email(site) return user
def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] user.save() profile = UserProfile() profile.user = user profile.user = user profile.phone_no = self.cleaned_data['phone_no'] profile.save()
def create_user_from_weibo(request, template_name='register/create_user_from_weibo.html'): oauth_access_token = request.session.get('oauth_access_token', None) if request.user.is_authenticated() or oauth_access_token is None: return HttpResponseRedirect(reverse('home.views.index')) client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=_get_weibo_callback_url(request)) client.set_access_token(oauth_access_token['access_token'], oauth_access_token['expires_in']) weibo_user = client.get.users__show(uid=oauth_access_token['uid']) weibo_username = weibo_user.screen_name template_var = {} form = RegistrationForm(initial={'username': weibo_username }) if request.method == 'POST': form = RegistrationForm(request.POST.copy()) if request.method == 'POST': if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password'] user = User.objects.create_user(username,email,password) user.is_active = True user.save() profile = UserProfile() profile.user = user profile.song_ord_filed = 'post_datetime' profile.save() #weibo信息记录 w_user = WeiboUser() w_user.user = user w_user.weibo_user_id = oauth_access_token['uid'] w_user.weibo_username = weibo_username w_user.oauth_access_token = oauth_access_token['access_token'] w_user.save() #发微博提示 if request.POST.get('update_msg'): msg = request.POST.get('bind_msg')[0:140] client.post.statuses__update(status=msg) user = authenticate(username=username, password=password) auth_login(request,user) return HttpResponseRedirect(reverse('songs.views.my_home')) template_var['form'] = form template_var['weibo_username'] = weibo_username return render_to_response(template_name, template_var, context_instance=RequestContext(request))
def songs_by_user(request, uid, template_name): if long(uid) == request.user.id: return my_songs(request, template_name) else: user_profile = None u = None template_var = {} try: u = User.objects.get(id=uid) songs = Song.objects.select_related().filter(user=u) try: user_profile = u.get_profile() except UserProfile.DoesNotExist: user_profile = UserProfile() user_profile.user = u user_profile.save() if request.user.is_authenticated(): my_blacklist = BlackList.objects.filter(user=request.user, bad_guy=u) if my_blacklist: template_var['in_my_blacklist'] = True except User.DoesNotExist: songs = None try: if request.user.is_authenticated(): user_follower = UserFollower.objects.get(user=u, follower=request.user) template_var['user_follower'] = user_follower except UserFollower.DoesNotExist: template_var['user_follower'] = None paginator = Paginator(songs, 20) try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 try: songs = paginator.page(page) except (EmptyPage, InvalidPage): songs = paginator.page(paginator.num_pages) template_var['favorite_action'] = 'add' template_var['current_tabnav'] = 'user_songs' template_var['user_profile'] = user_profile template_var['songs'] = songs return render_to_response(template_name, template_var, context_instance=RequestContext(request))
def createBranchAdmin(): user = User() user.username = '******' user.first_name = 'A分部管理員' user.set_password('branchA') user.email = '*****@*****.**' user.save() userProfile = UserProfile() userProfile.branch = Branch.objects.create(name='分部A', address='分部A', phone='0912345678') userProfile.user = user userProfile.save() return user
def index(request, u_id, page=1): """ 查看用户个人资料 """ # 初始化 try: u_id = int(u_id) except: return HttpResponse(u_id) # 根据ID得到用户对象 try: user = User.objects.get(id=u_id) except User.DoesNotExist: raise Http404() # 如果是当前用户自己则跳转到个人中心 if request.user == user: return HttpResponseRedirect('/home/') elif request.user.is_authenticated(): visitor, visitor_created = Visitor.objects.get_or_create( master=user, visitor=request.user) visitor.sub_time = datetime.datetime.now() visitor.save() # 得到用户档案 try: profile = user.get_profile() except UserProfile.DoesNotExist: profile = UserProfile() profile.user = user profile.save() # 如果账号以删除 if profile.deleted == True: return render('home_none.html', locals(), context_instance=RequestContext(request)) develop_all = Develop.objects.filter(user=profile.user) paginator = Paginator(develop_all, 15) url = 'home/%d' % profile.user.id current_page = 'develop' try: develops = paginator.page(page) except (EmptyPage, InvalidPage): develops = paginator.page(paginator.num_pages) return render('home_index.html', locals(), context_instance=RequestContext(request))
def register(request): """ The main registration handler for the users who visits the platform. When a user registers, it basically automatically login. """ if not request.user.is_authenticated: if request.method == 'POST': # Getting the data from the front-end username = request.POST.get('username') password = request.POST.get('password') first_name = request.POST.get('first_name') last_name = request.POST.get('last_name') email = request.POST.get('email') phone_number = request.POST.get('phone_number') hashed_password = make_password(str(password)) try: user = User.objects.get(username=username) messages.warning( request, 'ID Already Exists PID : ' + str(user.username)) return redirect(register) except User.DoesNotExist: try: user = User.objects.create(username=username, email=email, password=hashed_password, first_name=first_name, last_name=last_name) if user.is_active: auth_login(request, user) profile = UserProfile() profile.user = user #if request.FILES['pic']: # profile.profile_photo=request.FILES['pic'] try: profile.phone_number = phone_number except: messages.warning(request, 'Invalid Phone Number') profile.save() request.session['pid'] = profile.id return redirect('home') else: messages.error(request, 'Your account has been suspended') return redirect('login') except: messages.error(request, 'Something Unusual Happened') return redirect('home') else: return render(request, 'register.html') else: return redirect('home')
def create_userprofile(user): p = UserProfile() p.user = user p.birth = datetime.datetime.now() p.mobile = '+417X1234567' p.private_phone = '+41221234567' p.instrument = random.choice([k[0] for k in UserProfile.instrument_choices]) p.language = random.choice([k[0] for k in settings.LANGUAGES]) p.im = user.email p.im_carrier = random.choice([k[0] for k in UserProfile.im_choices]) p.website = 'www.example.com' p.saying = 'Nothing to say' p.address = 'Do not known St, xyz, No Country' p.save()
def index(request,u_id,page=1): """ 查看用户个人资料 """ # 初始化 try: u_id = int(u_id) except : return HttpResponse(u_id) # 根据ID得到用户对象 try: user = User.objects.get(id=u_id) except User.DoesNotExist: raise Http404() # 如果是当前用户自己则跳转到个人中心 if request.user == user: return HttpResponseRedirect('/home/') elif request.user.is_authenticated(): visitor,visitor_created= Visitor.objects.get_or_create(master=user,visitor=request.user) visitor.sub_time = datetime.datetime.now() visitor.save() # 得到用户档案 try: profile = user.get_profile() except UserProfile.DoesNotExist: profile = UserProfile() profile.user = user profile.save() # 如果账号以删除 if profile.deleted == True: return render('home_none.html',locals(),context_instance=RequestContext(request)) # 对未登录的用户只显示前15条动态 if not request.user.is_authenticated(): develop_all = Develop.objects.filter(user=profile.user)[:5] else: develop_all = Develop.objects.filter(user=profile.user) paginator = Paginator(develop_all,15) pre_url = 'home/%d' %profile.user.id current_page = 'develop' try: develops = paginator.page(page) except (EmptyPage,InvalidPage): develops = paginator.page(paginator.num_pages) return render('home_index.html',locals(),context_instance=RequestContext(request))
def createSuperuser(): admin = User() admin.username = '******' admin.first_name = '管理員' admin.set_password('admin') admin.email = '*****@*****.**' admin.is_staff = True admin.is_superuser = True admin.save() userProfile = UserProfile() userProfile.branch = Branch.objects.create(name='總部', address='XX', phone='0912345678') userProfile.user = admin userProfile.save() return admin
def songs_by_user(request, uid, template_name): if long(uid) == request.user.id: return my_songs(request, template_name) else: user_profile = None u = None template_var = {} try: u = User.objects.get(id=uid) songs = Song.objects.select_related().filter(user=u) try: user_profile = u.get_profile() except UserProfile.DoesNotExist: user_profile = UserProfile() user_profile.user = u user_profile.save() if request.user.is_authenticated(): my_blacklist = BlackList.objects.filter(user=request.user, bad_guy=u) if my_blacklist: template_var["in_my_blacklist"] = True except User.DoesNotExist: songs = None try: if request.user.is_authenticated(): user_follower = UserFollower.objects.get(user=u, follower=request.user) template_var["user_follower"] = user_follower except UserFollower.DoesNotExist: template_var["user_follower"] = None paginator = Paginator(songs, 20) try: page = int(request.GET.get("page", "1")) except ValueError: page = 1 try: songs = paginator.page(page) except (EmptyPage, InvalidPage): songs = paginator.page(paginator.num_pages) template_var["favorite_action"] = "add" template_var["current_tabnav"] = "user_songs" template_var["user_profile"] = user_profile template_var["songs"] = songs return render_to_response(template_name, template_var, context_instance=RequestContext(request))
def create_new_user(email, name = None): ups = UserProfile.objects.filter(email = email) if len(ups) > 0: print (len(ups)) print ("User(s) with email {} already exists, aborting user creation!". format(email)) return None username = new_user_name() user = User.objects.create_user(username, email = None, password = None) user.is_active = True user.is_staff = False user.is_superuser = False # The following fields are fields we store in the UserProfile object instead # user.first_name # user.last_name # user.email user.save() up = UserProfile() up.user = user up.password_is_set = False up.magic_login_code = random.randint(100000000, 999999999) # If the user doesn't specify a name, email is used as the default if name is None: up.name = email else: up.name = name up.email = email up.phone = '' up.verification_code = new_phone_verification_number() up.is_verified = False up.state = 'CA' up.message_frequency = 3 up.forecast_email = False up.set_equipment([]) up.beta_test = True # In the future, we should separate phone-number, etc., into a separate model up.save() print ("User {} created.".format(email)) return user
def add_customer(request): form = RegistrationFormAdmin() if request.method == "POST": form = RegistrationFormAdmin(request.POST) if form.is_valid(): username = generate_username( form.cleaned_data['first_name'], form.cleaned_data['last_name'], ) random_password = get_pronounceable_password() user = User.objects.create_user(username, form.cleaned_data['email'], random_password) user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name'] user.is_active = True user.save() userprofile = UserProfile() userprofile.title = form.cleaned_data['title'] userprofile.date_of_birth = form.cleaned_data['date_of_birth'] userprofile.phone = form.cleaned_data['phone'] userprofile.terms = form.cleaned_data['terms'] userprofile.user = user userprofile.save() address = Address() address.line_1 = form.cleaned_data['line_1'] address.line_2 = form.cleaned_data['line_2'] address.city = form.cleaned_data['city'] address.county = form.cleaned_data['county'] address.postcode = form.cleaned_data['postcode'] address.user = user address.save() send_admin_welcome_email(user, random_password) return HttpResponseRedirect('/admin/accounts/userprofile/') else: form = RegistrationFormAdmin(request.POST) return render_to_response('admin/accounts/add_customer.html', {'form': form}, context_instance=RequestContext(request))
def add_customer(request): form = RegistrationFormAdmin() if request.method == "POST": form = RegistrationFormAdmin(request.POST) if form.is_valid(): username = generate_username(form.cleaned_data['first_name'], form.cleaned_data['last_name'], ) random_password = get_pronounceable_password() user = User.objects.create_user( username, form.cleaned_data['email'], random_password ) user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name'] user.is_active = True user.save() userprofile = UserProfile() userprofile.title = form.cleaned_data['title'] userprofile.date_of_birth = form.cleaned_data['date_of_birth'] userprofile.phone = form.cleaned_data['phone'] userprofile.terms = form.cleaned_data['terms'] userprofile.user = user userprofile.save() address = Address() address.line_1 = form.cleaned_data['line_1'] address.line_2 = form.cleaned_data['line_2'] address.city = form.cleaned_data['city'] address.county = form.cleaned_data['county'] address.postcode = form.cleaned_data['postcode'] address.user = user address.save() send_admin_welcome_email(user, random_password) return HttpResponseRedirect('/admin/accounts/userprofile/') else: form = RegistrationFormAdmin(request.POST) return render_to_response('admin/accounts/add_customer.html', {'form': form}, context_instance=RequestContext(request))
def user_center_avatar(request): user = request.user user_profile = UserProfile.objects.filter(user=user).first() if request.method == 'POST': img = request.FILES.get('avatar', None) #可以在这里删除名字有覆盖的头像,但是有个问题,不同用户上传同名不同图片的头像就歇逼了 #看看可不可以在储存头像的时候对头像名称进行处理,加上用户的id #可以是可以,用f.open存储头像自定义图片名字,然后向avatar中存入f #不过貌似比较麻烦,以后有需要再说吧 if user_profile: user_profile.avatar = img user_profile.save() else: user_profile = UserProfile() user_profile.user = user user_profile.avatar = img user_profile.save() return render(request, 'user_manage/user_center_avatar.html', {'user_profile': user_profile})
def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] profile = UserProfile() profile.address = self.cleaned_data['address'] profile.address_2 = self.cleaned_data['address_2'] profile.contact = self.cleaned_data['contact'] profile.zipcode = self.cleaned_data['zipcode'] profile.city = self.cleaned_data['city'] profile.country = self.cleaned_data['country'] user.save() profile.user = user profile.save() group_customer = Group.objects.get(name='customer') group_customer.user_set.add(user)
def test_creating_a_new_user_and_saving_it_to_the_database(self): user = User() user.username = "******" user.password = "******" user.email = "*****@*****.**" user.is_active = False user.save() user_profile = UserProfile() user_profile.user = user # check we can save it to the databaseg user_profile.save() # now check we can find it in the database again user = User.objects.get(username__contains="sajad") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(user.is_active, False)
def new_profile(request): if not request.user.is_superuser: return HttpResponseRedirect(reverse("member-list")) profile = UserProfile() profile.user = User() form_class = ProfileForm if request.method == "POST": form = form_class(data=request.POST, files=request.FILES, instance=profile) if form.is_valid(): form.save() return HttpResponseRedirect(profile.user.get_absolute_url()) else: form = form_class(instance=profile) return render_to_response( "profiles/edit_profile.html", {"form": form, "profile": profile}, context_instance=RequestContext(request) )
def process_request(self, request): if request.user.is_authenticated(): return PartyHooks.execute_hook('user.prelogin', request=request) hostname = request.META['REMOTE_HOST'] or request.META['REMOTE_ADDR'] try: # reverse the profile back to user based on hostname up = UserProfile.objects.get(hostname=hostname) user = up.user user.backend = 'django.contrib.auth.backends.ModelBackend' request.user = user auth.login(request, up.user) if request.path not in ['/favicon.ico'] and not settings.STATIC_URL in request.path: if up.departed: up.departed = False up.save() PartyHooks.execute_hook('user.returns') messages.success(request, "Welcome back to the LAN!") except UserProfile.DoesNotExist: # if we're the first user, we're always an admin first_admin = (User.objects.count() == 0) # add a new user random_password = ''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(12)) username = request.META['REMOTE_HOST'] or 'User-'+''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(6)) user = User.objects.create_user(username, None, random_password) user.save() profile = UserProfile() profile.user = user profile.hostname = hostname if first_admin: profile.set_flag(FLAG_ADMIN) profile.save() request.user = user user = auth.authenticate(username=username, password=random_password) auth.login(request, user) if first_admin: # redirect to admin panel for setup messages.success(request, "Welcome to pyParty! As the first user, you're automatically an admin. Please continue setting up pyParty as you normally would!") return HttpResponseRedirect('/admin/') else: messages.success(request, "Welcome to %s! We set up an account for you. There's no need for a password, you will be recognized by your computer. Feel free to <a href='/accounts/profile/'>continue setting up your profile</a>." % get_setting('lan_name'))
def signup(request): if request.method == "POST": form = UserEmailCreationForm(request.POST) try: User.objects.get(email=request.POST['email']) return render(request, 'registration/signup.html', { 'form': form, 'error': "Already Exist Email address!" }) except ObjectDoesNotExist: if form.is_valid(): user = form.save() user_profile = UserProfile() user_profile.user = user user_profile.gender = request.POST['gender'] user_profile.save() return redirect('login') else: form = UserEmailCreationForm() return render(request, 'registration/signup.html', {'form': form})
def register(request): if request.method == 'POST': username = request.POST.get('username', '') password = request.POST.get('password', '') accepted_eula = request.POST.get('accepted_eula', '') favorite_animal = request.POST.get('favorite_animal', '') is_exit_user = User.objects.filter(username=username).exists() if is_exit_user: return HttpResponse('user already exists!') ##用户自动登陆如果登陆成功说明已经注册,如果不能成功,在注册 registerform = RegistrationForm({ 'username': username, 'password': password }) userProfileform = UserProfileForm({ 'accepted_eula': True, 'favorite_animal': favorite_animal }) ##'agency_email': agency_email, 'agency_address': agency_address if not registerform.is_valid(): return HttpResponse(registerform.errors.values()) if not userProfileform.is_valid(): return HttpResponse(userProfileform.errors.values()) user = User.objects.create_user(username=username, password=password) profile = UserProfile() profile.user = user profile.accepted_eula = accepted_eula profile.favorite_animal = favorite_animal profile.save() response = { 'status': 0, 'message': 'ok', 'result': { 'user_id': user.id } } return HttpResponse(response)
def save(self, request): if self.cleaned_data['city'] or self.cleaned_data[ 'website'] or self.cleaned_data['intro'] or self.cleaned_data[ 'qq'] or self.cleaned_data['msn'] or self.cleaned_data[ 'avatar']: current_user = request.user try: profile = current_user.get_profile() except UserProfile.DoesNotExist: profile = None if not profile: profile = UserProfile() profile.user = current_user profile.song_ord_filed = 'post_datetime' profile.city = self.cleaned_data['city'] profile.website = self.cleaned_data['website'] profile.intro = self.cleaned_data['intro'] profile.qq = self.cleaned_data['qq'] profile.msn = self.cleaned_data['msn'] if 'avatar' in request.FILES: #删除掉原头像 import os if profile and profile.avatar and os.path.exists( profile.avatar.path): os.remove(profile.avatar.path) profile.avatar = self.cleaned_data[ 'avatar'] #request.FILES["avatar"] profile.save() if self.cleaned_data['username'] != current_user.username: current_user.username = self.cleaned_data['username'] current_user.save()
def new_profile(request): if not request.user.is_superuser: return HttpResponseRedirect(reverse('member-list')) profile = UserProfile() profile.user = User() form_class = ProfileForm if request.method == 'POST': form = form_class(data=request.POST, files=request.FILES, instance=profile) if form.is_valid(): form.save() return HttpResponseRedirect(profile.user.get_absolute_url()) else: form = form_class(instance=profile) return render_to_response('profiles/edit_profile.html', { 'form': form, 'profile': profile, }, context_instance=RequestContext(request))
def create(self, validated_data): datas = {} datas['username'] = validated_data['username'] datas['email'] = validated_data['email'] datas['password'] = validated_data['password'] datas['first_name'] = validated_data['first_name'] datas['last_name'] = validated_data['last_name'] datas['password'] = validated_data['password'] data = utils.generate_activation_key(datas['username']) # user defined utility function. datas['activation_key'] = data datas['file_path'] = "accounts/activate/" datas['email_path'] = "/ActivationEmail.txt" datas['email_subject'] = "Activate Your domainname account." new_user = User.objects.create_user( username=datas['username'], email=datas['email'], password=datas['password'], first_name=datas['first_name'], last_name=datas['last_name'], ) new_user.is_active = True new_user.save() user_profile = UserProfile() user_profile.user = new_user user_profile.activation_key = datas['activation_key'] user_profile.is_active = False # Will be true if email is verified. user_profile.save() utils.send_email(datas) # message = ''' # A Verification email has been sent to your email address. # Please click the link in the email to verify your email address. # ''' # utils.display_html_message(message, 'success', request) return validated_data
def song_details(request, song_id, template_name): template_var = {} s_list = Song.objects.select_related().filter(id=song_id)[:1] if s_list: song_detail = s_list[0] comments = SongComment.objects.select_related().extra( select={"comment_user_avatar": "accounts_userprofile.avatar"}, tables=["accounts_userprofile"], where=["songs_songcomment.user_id=accounts_userprofile.user_id AND songs_songcomment.song_id=%s" % song_id], ) if request.user.is_authenticated() and request.user == song_detail.user: SongComment.objects.filter(song__id=song_id).update(read_by_owner=True) page = 1 if request.is_ajax(): query = request.GET.get("page") if query: page = query else: try: user_profile = song_detail.user.get_profile() template_var["user_profile"] = user_profile except UserProfile.DoesNotExist: user_profile = UserProfile() user_profile.user = song_detail.user template_var["user_profile"] = user_profile if request.user.is_authenticated(): user_followers = UserFollower.objects.select_related().filter( user=song_detail.user, follower=request.user ) if user_followers: template_var["user_follower"] = user_followers[0] my_blacklist = BlackList.objects.select_related().filter(user=request.user, bad_guy=song_detail.user) if my_blacklist: template_var["in_my_blacklist"] = True paginator = Paginator(comments, 15) try: comments = paginator.page(page) except (EmptyPage, InvalidPage): comments = paginator.page(paginator.num_pages) digs = ( Dig.objects.select_related() .extra( select={"dig_user_avatar": "accounts_userprofile.avatar", "dig_user_name": "auth_user.username"}, tables=["songs_song", "songs_dig", "auth_user", "accounts_userprofile"], where=[ "songs_song.id=songs_dig.song_id AND songs_dig.user_id=accounts_userprofile.user_id AND accounts_userprofile.user_id=auth_user.id AND songs_dig.song_id=%s" % song_id ], ) .order_by("?")[:12] .values("id", "user_id", "dig_user_avatar", "dig_user_name") ) if "HTTP_USER_AGENT" in request.META: ipad = (lambda x: "iPad" in x or False)(request.META["HTTP_USER_AGENT"]) template_var["ipad"] = ipad # 检测是不是新浪微博主 access_token = request.session.get("oauth_access_token", None) if access_token is not None: template_var["weibo_user_ret"] = True template_var["favorite_action"] = "add" template_var["song"] = song_detail template_var["comments"] = comments template_var["digs"] = digs template_var["all_show_media"] = settings.ALL_SHOW_MEDIA else: template_var["song"] = None return render_to_response(template_name, template_var, context_instance=RequestContext(request))
def login_register(request, *args): next_url = '/' message = None if request.GET.has_key('next'): next_url = request.GET.get('next') if request.method == 'POST': if "register" in request.POST: registration_form = RegistrationForm(request.POST) if registration_form.is_valid(): username = generate_username( registration_form.cleaned_data['first_name'], registration_form.cleaned_data['last_name'] ) user = User.objects.create_user( username, registration_form.cleaned_data['email'], registration_form.cleaned_data['password'], ) user.first_name = registration_form.cleaned_data['first_name'] user.last_name = registration_form.cleaned_data['last_name'] user.is_active = True user.save() user_profile = UserProfile() user_profile.title = registration_form.cleaned_data['title'] user_profile.date_of_birth = registration_form.cleaned_data['date_of_birth'] user_profile.phone = registration_form.cleaned_data['phone'] user_profile.user = user user_profile.terms = registration_form.cleaned_data['terms'] user_profile.save() # Billing address address = Address() address.line_1 = registration_form.cleaned_data['line_1'] address.line_2 = registration_form.cleaned_data['line_2'] address.city = registration_form.cleaned_data['city'] address.county = registration_form.cleaned_data['county'] address.postcode = registration_form.cleaned_data['postcode'] address.user = user address.save() messages.info(request, "Congratulations, you have successfully registered with Pleasures All Mine.") send_welcome_email(user_profile.user) user = authenticate( username=registration_form.cleaned_data['email'], password=registration_form.cleaned_data['password'] ) login_after_registration(request, user) return HttpResponseRedirect(next_url) else: registration_form = RegistrationForm(data=request.POST) messages.warning(request, "Sorry, but you missed something, please fill all required fields.") if 'login' in request.POST: login_form = LoginForm(data=request.POST) if login_form.is_valid(): user = authenticate(username=login_form.cleaned_data['username'], password=login_form.cleaned_data['password']) if user is not None: if not request.POST.get('remember_me', None): request.session.set_expiry(0) messages.success(request, "Welcome to Pleasures All Mine, you have successfully logged in.") return login(request, authentication_form=LoginForm,) else: login_form = LoginForm() registration_form = RegistrationForm() messages.warning(request, "Sorry, but you missed something, please fill all required fields.") else: messages.warning(request, "Sorry, but the username or password you have entered is incorrect, please try again.") login_form = LoginForm() registration_form = RegistrationForm() else: login_form = LoginForm() else: registration_form = RegistrationForm() login_form = LoginForm() return render_to_response( 'accounts/login_register.html', { 'registration_form': registration_form, 'login_form': login_form, 'message': message, 'next_url': next_url, }, RequestContext(request) )
def song_details(request, song_id, template_name): template_var = {} s_list = Song.objects.select_related().filter(id=song_id)[:1] if s_list: song_detail = s_list[0] comments = SongComment.objects.select_related().extra( select={'comment_user_avatar': 'accounts_userprofile.avatar'}, tables=['accounts_userprofile'], where=[ 'songs_songcomment.user_id=accounts_userprofile.user_id AND songs_songcomment.song_id=%s' % song_id ]) if request.user.is_authenticated( ) and request.user == song_detail.user: SongComment.objects.filter(song__id=song_id).update( read_by_owner=True) page = 1 if request.is_ajax(): query = request.GET.get('page') if query: page = query else: try: user_profile = song_detail.user.get_profile() template_var['user_profile'] = user_profile except UserProfile.DoesNotExist: user_profile = UserProfile() user_profile.user = song_detail.user template_var['user_profile'] = user_profile if request.user.is_authenticated(): user_followers = UserFollower.objects.select_related().filter( user=song_detail.user, follower=request.user) if user_followers: template_var['user_follower'] = user_followers[0] my_blacklist = BlackList.objects.select_related().filter( user=request.user, bad_guy=song_detail.user) if my_blacklist: template_var['in_my_blacklist'] = True paginator = Paginator(comments, 15) try: comments = paginator.page(page) except (EmptyPage, InvalidPage): comments = paginator.page(paginator.num_pages) digs = Dig.objects.select_related().extra( select={ 'dig_user_avatar': 'accounts_userprofile.avatar', 'dig_user_name': 'auth_user.username' }, tables=[ 'songs_song', 'songs_dig', 'auth_user', 'accounts_userprofile' ], where=[ 'songs_song.id=songs_dig.song_id AND songs_dig.user_id=accounts_userprofile.user_id AND accounts_userprofile.user_id=auth_user.id AND songs_dig.song_id=%s' % song_id ]).order_by('?')[:12].values('id', 'user_id', 'dig_user_avatar', 'dig_user_name') if 'HTTP_USER_AGENT' in request.META: ipad = (lambda x: 'iPad' in x or False)( request.META['HTTP_USER_AGENT']) template_var['ipad'] = ipad #检测是不是新浪微博主 access_token = request.session.get('oauth_access_token', None) if access_token is not None: template_var['weibo_user_ret'] = True template_var['favorite_action'] = 'add' template_var['song'] = song_detail template_var['comments'] = comments template_var['digs'] = digs template_var['all_show_media'] = settings.ALL_SHOW_MEDIA else: template_var['song'] = None return render_to_response(template_name, template_var, context_instance=RequestContext(request))
def register(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] email_1 = request.POST['email_1'] email_2 = request.POST['email_2'] email_3 = request.POST['email_3'] name_1 = request.POST['name_1'] name_2 = request.POST['name_2'] name_3 = request.POST['name_3'] number_1 = request.POST['number_1'] number_2 = request.POST['number_2'] number_3 = request.POST['number_3'] # for validation of the user def validate(): if username and password and email_1 and name_1 and number_1: pass else: return 1 if User.objects.filter(username=username).exists(): return 2 if validate() == 1: return render_to_response('Login.html', {"error": "Some fields are empty !!!"}) try: user = User.objects.create(username=username, password=password) user.set_password(password) user.save() except IntegrityError as e: return render(request, 'Login.html', {'error': 'Username already exists!'}) prof = UserProfile() prof.user = user prof.name_1 = name_1 prof.name_2 = name_2 prof.name_3 = name_3 prof.email_1 = email_1 prof.email_2 = email_2 prof.email_3 = email_3 prof.number_1 = number_1 prof.number_2 = number_2 prof.number_3 = number_3 try: prof.save() except IntegrityError as e: return render(request, 'Login.html', {'error': 'Username already exists'}) user = authenticate(username=username, password=password) print(user) if user is not None: login(request, user) u = request.user data = UserProfile.objects.get(user=u) time = datetime.datetime.now() + datetime.timedelta(seconds=1800) time_sec = (time.hour*60*60) + \ (time.minute*60)+(time.second) data.timer = time_sec ls = range(1, 101) sel_q = random.sample(ls, 30) sel_q_str = ','.join([str(a) for a in sel_q]) print(sel_q_str) data.sel_ques = sel_q_str data.save() return display(request) else: return render(request, 'Login.html')
def login_register(request, *args): next_url = '/' message = None if request.GET.has_key('next'): next_url = request.GET.get('next') if request.method == 'POST': if "register" in request.POST: registration_form = RegistrationForm(request.POST) if registration_form.is_valid(): username = generate_username( registration_form.cleaned_data['first_name'], registration_form.cleaned_data['last_name']) user = User.objects.create_user( username, registration_form.cleaned_data['email'], registration_form.cleaned_data['password'], ) user.first_name = registration_form.cleaned_data['first_name'] user.last_name = registration_form.cleaned_data['last_name'] user.is_active = True user.save() user_profile = UserProfile() user_profile.title = registration_form.cleaned_data['title'] user_profile.date_of_birth = registration_form.cleaned_data[ 'date_of_birth'] user_profile.phone = registration_form.cleaned_data['phone'] user_profile.user = user user_profile.terms = registration_form.cleaned_data['terms'] user_profile.save() # Billing address address = Address() address.line_1 = registration_form.cleaned_data['line_1'] address.line_2 = registration_form.cleaned_data['line_2'] address.city = registration_form.cleaned_data['city'] address.county = registration_form.cleaned_data['county'] address.postcode = registration_form.cleaned_data['postcode'] address.user = user address.save() messages.info( request, "Congratulations, you have successfully registered with Pleasures All Mine." ) send_welcome_email(user_profile.user) user = authenticate( username=registration_form.cleaned_data['email'], password=registration_form.cleaned_data['password']) login_after_registration(request, user) return HttpResponseRedirect(next_url) else: registration_form = RegistrationForm(data=request.POST) messages.warning( request, "Sorry, but you missed something, please fill all required fields." ) if 'login' in request.POST: login_form = LoginForm(data=request.POST) if login_form.is_valid(): user = authenticate( username=login_form.cleaned_data['username'], password=login_form.cleaned_data['password']) if user is not None: if not request.POST.get('remember_me', None): request.session.set_expiry(0) messages.success( request, "Welcome to Pleasures All Mine, you have successfully logged in." ) return login( request, authentication_form=LoginForm, ) else: login_form = LoginForm() registration_form = RegistrationForm() messages.warning( request, "Sorry, but you missed something, please fill all required fields." ) else: messages.warning( request, "Sorry, but the username or password you have entered is incorrect, please try again." ) login_form = LoginForm() registration_form = RegistrationForm() else: login_form = LoginForm() else: registration_form = RegistrationForm() login_form = LoginForm() return render_to_response( 'accounts/login_register.html', { 'registration_form': registration_form, 'login_form': login_form, 'message': message, 'next_url': next_url, }, RequestContext(request))
def userCreate(request): if request.method == 'POST': fName = str(request.POST.get('fName', '')) lName = str(request.POST.get('lName', '')) university = str(request.POST.get('university', '')) email = str(request.POST.get('email', '')) username = str(request.POST.get('username', '')) password = str(request.POST.get('password', '')) confirmPassword = str(request.POST.get('confirmPassword', '')) ''' print(fName) print(lName) print(email) print(username) ''' # now for some form validation #first check database for existing userid and email since these need to be unique to each user if isEmailPresent(email): messages.error( request, "This email is already registered to an existing user!") if isUsernamePresent(username): messages.error( request, "This username already belongs to an existing user!") if not isEmailPresent(email) and not isUsernamePresent(username): # this is checking to make sure first name and last name only include letters isFNameValid = fName.isalpha() isLNameValid = lName.isalpha() isUserNameValid = True if username.isalnum() and len( username) in range(5, 12) else False isNyuEmail = True if "@nyu.edu" in email else False #Currently only serves NYU passwordsMatch = True if password == confirmPassword else False if not isFNameValid: messages.error(request, "The First Name Entered is not Valid!") if not isLNameValid: messages.error(request, "The Last Name Entered is not Valid!") if not isUserNameValid: messages.error( request, "Username should only include letters and numbers and be between 5 and 12 characters long!" ) if not isNyuEmail: messages.error( request, "Please use the email associated with your university!") if not passwordsMatch: messages.error(request, "Please make sure that the passwords match!") elif passwordsMatch: #already confirmed that they match, now checking if it's valid isValid = isPasswordValid(password) if not isValid: messages.error( request, "Passwords should be between 8 and 15 characters!") if isFNameValid and isLNameValid and isUserNameValid and isNyuEmail and passwordsMatch and isPasswordValid( password): #create instance of user and save to db print("here") newUser = User(email=email) newUser.set_password(password) newUser.save() newUserProfile = UserProfile() newUserProfile.user = newUser newUserProfile.firstName = fName newUserProfile.lastName = lName newUserProfile.username = username newUserProfile.university = university newUserProfile.save() user = authenticate(username=email, password=password) login(request, user) return HttpResponseRedirect('/search_chats/')