def post(self, request, *args, **kwargs): request_data = request.data.copy() code = request_data["code"] u_type = int(self.request.data.get("u_type", 1)) openid = self.get_openid(code, u_type) try: wechat_bind = WechatInfo.objects.get(openid=openid) token, _ = Token.objects.get_or_create(user=wechat_bind.user) result = {"token": token.key, "user_id": wechat_bind.user_id, "u_type": wechat_bind.user.profile.u_type} self.create_fit_info(u_type, wechat_bind.user) if u_type == 0: self.add_coach_info(wechat_bind.user, result) else: self.update_gym_info(wechat_bind.user, result) return Response(result) except WechatInfo.DoesNotExist: nickname = request_data["nickName"] headimgurl = request_data["avatarUrl"] gender = request_data["gender"] province = request_data["province"] city = request_data["city"] country = request_data["country"] User = get_user_model() user_obj, _ = User.objects.get_or_create(username=openid, password=make_password( "atm7777777")) wechat_bind = WechatInfo(user=user_obj, nickname=nickname, headimgurl=headimgurl, openid=openid, sex=gender, province=province, city=city, country=country) wechat_bind.save() self.create_fit_info(u_type, wechat_bind.user) profile_obj = Profile(user=user_obj, u_type=u_type, nickname=nickname) profile_obj.save() token, _ = Token.objects.get_or_create(user=wechat_bind.user) init_new_user.delay(user_id=user_obj.id) result = {"token": token.key, "user_id": wechat_bind.user_id, "u_type": wechat_bind.user.profile.u_type} if u_type == 0: self.add_coach_info(wechat_bind.user, result) else: self.update_gym_info(wechat_bind.user, result) return Response(result)
def individual(request): if request.method == 'POST': if request.POST['password'] == request.POST['password2']: user = User.objects.create_user(request.POST['username'], password=request.POST['password']) auth.login(request, user) profile = Profile() profile.area = request.POST['area'] profile.user = user profile.master = False profile.save() return redirect('home') return render(request, 'accounts/individual.html')
def register_user(self, validated_data): sid = transaction.savepoint() # Transaction open try: user_data = Profile( username=validated_data['primary_contact'], primary_contact=validated_data['primary_contact'], email=validated_data['email'], first_name=validated_data['first_name'], last_name=validated_data['last_name'], pan_card=validated_data['pan_card'], user_type=2) user_data.save() user_data.set_password(validated_data['password']) user_data.alternate_contact = validated_data['alternate_contact'] user_data.address = validated_data['address'] user_data.city = validated_data['city'] user_data.town = validated_data['town'] user_data.pincode = validated_data['pincode'] user_data.landmark = validated_data['landmark'] user_data.state = validated_data['state'] user_data.beneficiary_name = validated_data['beneficiary_name'] user_data.account_no = validated_data['account_no'] user_data.ifsc_code = validated_data['ifsc_code'] user_data.bank_name = validated_data['bank_name'] user_data.save() try: pancard_image = json.loads(validated_data['pancard_image']) pan_image_file = get_image_file(str(pancard_image["image"])) name = pancard_image["name"] user_data.pan_image = SimpleUploadedFile( name, pan_image_file, getattr(pancard_image, "content_type", "application/octet-stream")) user_data.save() except: pass transaction.savepoint_commit(sid) return user_data except Exception as exc: print('Exception For Register User | RegistrationSerializer', exc) print('exception ', str(traceback.print_exc())) transaction.rollback(sid) return None
def editProfile(request): uname = request.user auth = User.objects.get(username=uname) pk = User.objects.get(username=uname).pk readone_notification(auth, '', "Welcome") pinfo = '' try: pinfo = Profile.objects.get(author=pk) except: print('no profile') if request.method == 'POST': try: pinfo = Profile.objects.get(author=pk) print("***********<<<<<<< pinfo has data >>>>>>>***********") form = editprofileForm(request.POST) if form.is_valid(): pinfo.phonenumber = form.cleaned_data.get('phonenumber') pinfo.address = form.cleaned_data.get('address') pinfo.location = form.cleaned_data.get('location') pinfo.description = form.cleaned_data.get('description') pinfo.save() return redirect(f'/company/profile/{request.user}') #messages.success(request,f'Job has been updated successfully !!') except: form = editprofileForm(request.POST) if form.is_valid(): print("<<< pinfo has no data >>>") inst = Profile() #inst.image = request.FILES.get('image') #print ('**************************',inst.image) inst.phonenumber = form.cleaned_data.get('phonenumber') inst.address = form.cleaned_data.get('address') inst.location = form.cleaned_data.get('location') inst.description = form.cleaned_data.get('description') inst.author = auth #auth_user.username = form1.cleaned_data.get('username') #auth_user.first_name = form1.cleaned_data.get('first_name') #auth_user.last_name = form1.cleaned_data.get('last_name') #auth_user.email = form1.cleaned_data.get('email') inst.save() return redirect(f'/company/edit_profile/') return render(request, 'company/edit_profile.html', { 'result': auth, 'info': pinfo, })
def corporation(request): if request.method == 'POST': if request.POST['password'] == request.POST['password2']: user = User.objects.create_user(request.POST['username'], password=request.POST['password']) auth.login(request, user) profile = Profile() profile.company = request.POST['company'] profile.area = request.POST['area'] profile.user = user profile.master = True profile.save() return redirect('home') return render(request, 'accounts/corporation.html')
def run(cls, user_id: str, group_id: str = None, room_id: str = None) -> Profile: try: return Profile.objects.get(id=user_id) except ObjectDoesNotExist: data = (cls._get_user_from_group(group_id, user_id) if group_id is not None else cls._get_user_from_room(room_id, user_id) if room_id is not None else cls._get_user(user_id)) profile = Profile(id=data['userId'], name=data['displayName'], picture=data['pictureUrl']) profile.save(force_insert=True) return profile
def article_detail(request, aid): article = Articles.objects.select_related().get(pk=aid) article.count += 1 article.save() article_user = User.objects.select_related().get(id=article.name_id) try: user_profile = article_user.get_profile() except: import time today = time.strftime("%Y-%m-%d", time.localtime()) profile = Profile(user=article_user, count=0, today=today, todaycount=0) profile.save() user_profile = article_user.get_profile() perm_edit_article = False if request.user == article.name: perm_edit_article = True if article.subject == '0': subject = 'new' else: subject = 'topic' article_label_list = Articles.objects.select_related().filter( label=article.label, post='1').order_by('-time') if len(article_label_list) < 2: article_label_list = None if article.label == None or article.label == '': article_label_list = None article_hot_list = cache.get('article_hot_list') if not article_hot_list: article_hot_list = Articles.objects.select_related().filter( hot='1', post='1').order_by('-time')[:10] cache.set('article_hot_list', article_hot_list, 900) game_hot_list = cache.get('game_hot_list') if not game_hot_list: game_hot_list = Games.objects.select_related().filter( post='1').order_by('-count')[:10] cache.set('game_hot_list', game_hot_list, 900) return render_to_response('article_detail.html', {'article': article, 'subject':subject,\ 'article_label_list':article_label_list, 'game_hot_list': game_hot_list, \ 'article_hot_list':article_hot_list,\ 'perm_edit_article': perm_edit_article,\ 'user_profile': user_profile}, context_instance=RequestContext(request))
def post(self, request, *args, **kwargs): account = self.request.data["account"] password = self.request.data["password"] u_type = self.request.data.get("u_type", 1) valid_code = self.request.data["valid_code"] rpt_password = self.request.data["rpt_password"] nickname = self.request.data.get("nickname") if password != rpt_password: return Response({"detail": "密码不相同"}, status=status.HTTP_400_BAD_REQUEST) User = get_user_model() account_type, username = get_username(account) if not nickname: nickname = username cache_key = "code_%s_%s" % ("register", account) cache_vcode = cache.get(cache_key) if str(valid_code) != "1984" and valid_code != str(cache_vcode): return Response({"detail": "验证码不符,请重新输入"}, status=status.HTTP_400_BAD_REQUEST) try: new_user = User(username=username, password=make_password(password)) new_user.save() profile_obj = Profile(user=new_user, u_type=u_type, nickname=nickname) if u_type == 1: new_coach = Coach(user=new_user, ) new_coach.save() else: new_member = Member(user=new_user) new_member.save() if account_type == "phone": # 手机号注册 profile_obj.phone = account else: # 邮箱注册 new_user.email = account new_user.save() profile_obj.save() Token.objects.get_or_create(user=new_user) init_new_user.delay(user_id=new_user.id) except IntegrityError: return Response({"detail": "注册帐户已存在, 请直接登录"}, status=status.HTTP_400_BAD_REQUEST) return Response({"detail": "注册成功"}, status=status.HTTP_201_CREATED)
def create(): try: while(True): username = raw_input("帳號: ") check = len(list(User.objects.filter(username=username))) if check==0: break print(bcolors.FAIL + "帳號已經被註冊 \n" + bcolors.ENDC) password = "" password2 = "" while(True): password = getpass.getpass("密碼: ") password2 = getpass.getpass("密碼(再一次): ") if password==password2: break else: print(bcolors.FAIL + "密碼不一樣,重新輸入 \n" + bcolors.ENDC) while(True): email = raw_input("電子郵件: ") if email_valid(email): break print(bcolors.FAIL + "請輸入正確的電子郵件" + bcolors.ENDC) admin = User() admin.username = username admin.set_password(password) admin.email = email admin.is_superuser = True admin.is_staff = True admin.is_active = True admin.date_joined = timezone.now() admin.save() userProflie = Profile() userProflie.username = username userProflie.user = admin userProflie.save() print(bcolors.OKBLUE + "\n "+ username +"帳號建立成功 \n \n" + bcolors.ENDC) except Exception as e: s = str(e) print(bcolors.FAIL + "\n\n取消建立帳號 \n" + bcolors.ENDC) if """does not exist""" in s: print(bcolors.FAIL + "資料庫有問題,請檢查 \n" + bcolors.ENDC)
def post(self, request, *args, **kwargs): data = request.POST.get("userData") if "," not in data: kwargs['error'] = '資料格式錯誤。' data = data.replace("\r\n","") data = data.replace("\r","") data = data.replace(" ","") temp = data.split(";") userArr = [] repeat = [] sp = "" for i in temp: if len(i.split(","))>2: kwargs['error'] = '資料格式錯誤。' break; sp = i.split(",") try: User.objects.get(username=sp[0]) repeat.append(sp[0]) except: userArr.append(sp) if(len(repeat)>0): kwargs['error'] = '資料重復:'+', '.join(repeat) return super(CAccountAdd3nd, self).post(request, *args, **kwargs) for i in userArr: newUser = User() newUser.username = i[0] newUser.set_password(i[0]) newUser.save() profile = Profile() profile.user = newUser profile.fullName = i[1] profile.type=0 profile.isActive=True profile.isAuth=True profile.save() messages.success(request,'帳號加入成功。') return super(CAccountAdd3nd, self).post(request, *args, **kwargs)
def register(request): if request.method == "POST": form = RegisterForm(request.POST) if form.is_valid(): user = User.objects.create_user( form.cleaned_data["username"], email=form.cleaned_data["email"], password=form.cleaned_data["password"]) p = Profile(user=user) p.save() return redirect(reverse("login")) else: return render(request, "register.html", {"form": form}) else: return render(request, "register.html", {"form": RegisterForm()})
def uploadResume(request,jbid): user = request.user if request.method == 'POST': uploaded_file = request.FILES['cv'] fs = FileSystemStorage() fs.save(uploaded_file.name,uploaded_file) parser_r(uploaded_file,uploaded_file.name,user) try: prof =Profile.objects.get(author = user.id) prof.resume = uploaded_file prof.save() except: prof = Profile() prof.author = user prof.resume = uploaded_file prof.save() fs.delete(uploaded_file.name) return redirect(f'/applicant/details/{jbid}')
def profile(request, user_id): user = User.objects.get(id=user_id) enrolls = Enroll.objects.filter(student_id=user_id) try: profile = Profile.objects.get(user=user) except ObjectDoesNotExist: profile = Profile(user=user) profile.save() try: hour_of_code = Certificate.objects.get(student_id=user_id) except ObjectDoesNotExist: hour_of_code = None # 計算積分 credit = profile.work + profile.assistant + profile.forum + profile.creative school_name = "" #檢查是否為教師或同班同學 user_enrolls = Enroll.objects.filter(student_id=request.user.id) for enroll in user_enrolls: if is_classmate(user_id, enroll.classroom_id) or request.user.id == 1: return render( request, 'account/profile.html', { 'hour_of_code': hour_of_code, 'school': school_name, 'enrolls': enrolls, 'profile': profile, 'user_id': user_id, 'credit': credit }) if user_id == str(request.user.id): return render( request, 'account/profile.html', { 'hour_of_code': hour_of_code, 'school': school_name, 'enrolls': enrolls, 'profile': profile, 'user_id': user_id, 'credit': credit }) return redirect("/")
def upld_propic_2(request): user = request.user usrnm = str(user) if request.method == 'POST': img = request.POST.get('propic') with open("media/profile-pic/applicant/" + usrnm + "_imageToSave.png", "wb") as fh: fh.write(base64.b64decode(img)) try: obj = Profile.objects.get(author=user.id) obj.image = "/" + fh.name obj.save() except: obj = Profile() obj.image = "/" + fh.name obj.author = user obj.save() return redirect('/applicant/edit_profile/')
def handle_noargs(self, **options): staffs = simplejson.load(open(os.path.join(settings.COMMANDS_ROOT[0], 'staffs.json'))) institute = Institute.objects.get(name='University of Waterloo') for staff in staffs: try: user = User() user.username = unique_username(staff['firstName'], staff['lastName']) user.email = staff['userID'] + '@uwaterloo.ca' user.set_password(staff['userID']) user.first_name = staff['firstName'] user.last_name = staff['lastName'] user.is_active = False user.save() profile = Profile() profile.user = user profile.institute = institute profile.role = 'I' profile.save() print 'Added %s.' % staff['userID'] except: pass
def profile(request, user_id): user = User.objects.get(id=user_id) enrolls = Enroll.objects.filter(student_id=user_id) try: profile = Profile.objects.get(user=user) except ObjectDoesNotExist: profile = Profile(user=user) profile.save() try: hour_of_code = Certificate.objects.get(student_id=user_id) except ObjectDoesNotExist: hour_of_code = None del lesson_list[:] reset() works = Work.objects.filter(user_id=user_id) for work in works: lesson_list[work.index-1].append(work.score) lesson_list[work.index-1].append(work.publication_date) if work.score > 0 : score_name = User.objects.get(id=work.scorer).first_name lesson_list[work.index-1].append(score_name) else : lesson_list[work.index-1].append("null") # 計算積分 credit = profile.work + profile.assistant + profile.debug + profile.creative # 記錄系統事件 if is_event_open(request) : log = Log(user_id=request.user.id, event='查看個人檔案') log.save() #檢查是否為教師或同班同學 user_enrolls = Enroll.objects.filter(student_id=request.user.id) for enroll in user_enrolls: user = User.objects.get(id=user_id) if not is_classmate(user, enroll.classroom_id) and not request.user.id == 1: return redirect("/") return render_to_response('account/profile.html',{'hour_of_code':hour_of_code, 'works':works, 'lesson_list':lesson_list, 'enrolls':enrolls, 'profile': profile,'user_id':user_id, 'credit':credit}, context_instance=RequestContext(request))
def save_profile(backend, user, response, *args, **kwargs): # if necessary, create an empty profile try: new_profile = user.profile except Profile.DoesNotExist: new_profile = Profile(user=user) new_profile.save() # populate profile with Facebook data if backend.name == settings.SOCIAL_AUTH_FACEBOOK: new_profile.gender = response.get('gender', '') new_profile.facebook_link = response.get('link', '') new_profile.save() try: userena_signup = user.userena_signup except UserenaSignup.DoesNotExist: userena_signup = UserenaSignup( user=user, activation_key=userena_settings.USERENA_ACTIVATED) userena_signup.save()
def editProfile (request): uname = request.user auth = User.objects.get(username=uname) pk = User.objects.get(username=uname).pk pinfo = '' try: pinfo = Profile.objects.get(author = pk) except: print(" no profile") if request.method == 'POST': #print('<><><><><><><>>>>>>>>>>>>>>>>>>>>>> ',request.FILES['image']) try: pinfo = Profile.objects.get(author = pk) print("***********<<<<<<< pinfo has data >>>>>>>***********") form = editprofileForm(request.POST, request.FILES ,instance = pinfo) if form.is_valid(): pinfo.image = form.cleaned_data.get('image') pinfo.phonenumber = form.cleaned_data.get('phonenumber') pinfo.address = form.cleaned_data.get('address') pinfo.job_title = form.cleaned_data.get('job_title') pinfo.save() #messages.success(request,f'Job has been updated successfully !!') return redirect(f'/applicant/profile/{request.user}') except: form = editprofileForm(request.POST , request.FILES) if form.is_valid(): print("<<< pinfo has no data >>>") inst = Profile() inst.image = request.FILES.get('image') #print ('**************************',inst.image) inst.phonenumber = form.cleaned_data.get('phonenumber') inst.address = form.cleaned_data.get('address') inst.job_title = form.cleaned_data.get('job_title') inst.author = auth inst.save() return redirect(f'/applicant/profile/{request.user}') return render(request,'applicant/edit_profile.html',{'result':auth , 'info' : pinfo ,})
def change_profile(request): # if profile_image exist, delete this image if Profile.objects.filter(user=request.user): Profile.objects.filter(user=request.user).delete() profile = Profile() profile.user = request.user # save profile_image if 'image' in request.FILES: im = Image.open(request.FILES['image']) im = im.resize((1920, 1920)) bigsize = (im.size[0] * 3, im.size[1] * 3) mask = Image.new('L', bigsize, 0) draw = ImageDraw.Draw(mask) draw.ellipse((0, 0) + bigsize, fill=255) mask = mask.resize(im.size, Image.ANTIALIAS) im.putalpha(mask) output = ImageOps.fit(im, mask.size, centering=(0.5, 0.5)) output.putalpha(mask) buffer = BytesIO() output.save(buffer, format='png') file = InMemoryUploadedFile( buffer, '{}'.format(request.FILES['image']), '{}'.format(request.FILES['image']), 'image/png', buffer.tell(), None, ) profile.image = file profile.save() return redirect('/account/userpage/' + str(profile.user))
def profile(request, user_id): user = User.objects.get(id=user_id) enrolls = Enroll.objects.filter(student_id=user_id) try: profile = Profile.objects.get(user=user) except ObjectDoesNotExist: profile = Profile(user=user) profile.save() # 計算積分 credit = profile.work + profile.assistant + profile.debug + profile.creative # 記錄系統事件 if is_event_open(request): log = Log(user_id=request.user.id, event='查看個人檔案') log.save() #檢查是否為教師或同班同學 user_enrolls = Enroll.objects.filter(student_id=request.user.id) for enroll in user_enrolls: if is_classmate(user_id, enroll.classroom_id) or request.user.id == 1: return render_to_response('account/profile.html', { 'enrolls': enrolls, 'profile': profile, 'user_id': user_id, 'credit': credit }, context_instance=RequestContext(request)) if user_id == str(request.user.id): return render_to_response('account/profile.html', { 'enrolls': enrolls, 'profile': profile, 'user_id': user_id, 'credit': credit }, context_instance=RequestContext(request)) return redirect("/")
def user_post_save_receiver(sender, instance, created, *args, **kwargs): if created: profile = Profile(user=instance) profile.save()
def post(self, request, *args, **kwargs): def _get_total_price(ordered_products): total_price = 0 for ordered_product in ordered_products: total_price += ordered_product.total return total_price if request.user.is_authenticated: cart = CartAuth(request) else: cart = Cart(request) order_form = OrderForm(request.POST) if order_form.is_valid(): fullname = order_form.cleaned_data['fullname'] email = order_form.cleaned_data['email'] phone = order_form.cleaned_data['phone'] user = None if request.user.is_authenticated: user = request.user elif User.objects.get(username=email).exists(): return redirect(reverse('account:login')) else: password = User.objects.make_random_password() user = User.objects.create_user(email, email, password) profile = Profile(user=user, phone=phone) profile.save() user.last_name = fullname postcode = order_form.cleaned_data.get('postcode') region = order_form.cleaned_data.get('region') area = order_form.cleaned_data.get('area') city = order_form.cleaned_data.get('city') street = order_form.cleaned_data.get('street') house = order_form.cleaned_data.get('house') building = order_form.cleaned_data.get('building') apartment = order_form.cleaned_data.get('apartment') comment = order_form.cleaned_data.get('comment') payment_type = order_form.cleaned_data.get('payment_type') entity_name = order_form.cleaned_data.get('entity_name') entity_inn = order_form.cleaned_data.get('entity_inn') entity_kpp = order_form.cleaned_data.get('entity_kpp') delivery = None entity = None if postcode: delivery = Delivery(postcode=postcode, region=region, area=area, city=city, street=street, house=house, building=building, apartment=apartment, comment=comment) delivery.save() if entity_name: entity = Entity(title=entity_name, inn=entity_inn, kpp=entity_kpp) entity.save() order = Order(delivery=delivery, user=user, entity=entity) order.save() products = tuple(cart.get()) print(tuple(products), 'ORDER PRODUCTS FOR CREATE') ordered_products = OrderedProducts.objects.bulk_create( OrderedProducts(order=order, product=product, count=product.count, total=product.get_discount_price() * int(product.count)) for product in products) if payment_type in ('bank', 'bill', 'receipt'): payment = Payment(total=_get_total_price(ordered_products), _type=self.payment_type_crutch[payment_type]) payment.save() order.payment = payment order.save() return redirect(reverse('account:ProfileOrders')) return redirect(reverse('account:ProfileOrders'))
def save_profile(sender, instance, created, **kwargs): user = instance if created: profile = Profile(user=user) profile.save()
def signup(request): context = {} if request.method == "POST": user_form = SignupForm(request.POST) if user_form.is_valid(): users_email = User.objects.filter(email=user_form.data["email"]) if len(users_email) != 0: messages.error(request, "Пользователь с таким email уже существует.") context["form"] = SignupForm(request.POST) return render(request, "account/signup.html", context) else: ok = check_blacklist(user_form.data['email']) if ok is not None: messages.error( request, f"Имя пользователя не должно содержать \"{ok}\"") context["form"] = SignupForm(request.POST) return render(request, "account/signup.html", context) else: new_user = user_form.save(commit=True) new_user.set_password(user_form.cleaned_data["password1"]) new_user.is_active = False new_user.save() profile = Profile(user=new_user, avatar_id=1) profile.save() code_object = Code() code_object.user = new_user code_object.code, code_object.token = utils.generate_codes( new_user, datetime.datetime.now()) code_object.save() mail_context = { 'token': code_object.token, 'code': code_object.code, 'user': new_user } utils.send_mail(new_user.email, 'Подтверждение Регистрации', 'mail/confirmation.html', mail_context) messages.warning( request, 'На вашу электронную почту было отправлено письмо, для подтверждения.' ) return redirect(reverse('account:login')) else: errors = user_form.errors.as_json() errors = json.loads(errors) codes = [] for key, message in errors.items(): for error in message: codes.append(error['code']) print(codes) if 'unique' in codes: messages.error(request, "Пользователь с таким именем уже существует.") if 'password_too_similar' in codes: messages.error(request, "Пароль и имя пользователя совпадают.") if 'password_mismatch' in codes: messages.error(request, "Пароли не совпадают.") if ('password_no_symbol' in codes) or ('password_no_lower' in codes) or ( 'password_no_upper' in codes) or ('password_no_number' in codes) or ( 'password_too_short' in codes) or ('password_too_common' in codes): messages.error( request, "Пароль не соответствует требованиям. (минимум: длина 8 символов, " "1 спец.символ, 1 строчная буква, 1 прописная буква, 1 цифра)" ) context["form"] = SignupForm(request.POST) else: if request.user.is_authenticated: messages.warning(request, "Вы уже вошли в аккаунт.") return redirect(reverse('account:view_my')) context["form"] = SignupForm() return render(request, "account/signup.html", context)
from django.contrib.auth.models import User from account.models import Profile user = User.objects.get(username='******') p = Profile(user=user, nick='dj') p.save()
def user_login(request): message = None test = "" if request.method == "POST": form = LoginForm(request.POST) if form.is_valid(): username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: if user.is_superuser: mygroup1, created = Group.objects.get_or_create( name='teacher') user.groups.add(mygroup1) mygroup2, created = Group.objects.get_or_create( name='active_teacher') user.groups.add(mygroup2) if user.first_name == "": user.first_name = "管理員" user.save() # create Message title = "請修改您的姓名" url = "/account/realname" message = Message.create(title=title, url=url, time=timezone.now()) message.save() # message for group member messagepoll = MessagePoll.create( message_id=message.id, reader_id=1) messagepoll.save() # 登入成功,導到大廳 login(request, user) # 記錄訪客資訊 admin_user = User.objects.get(id=1) try: profile = Profile.objects.get(user=admin_user) except ObjectDoesNotExist: profile = Profile(user=admin_user) profile.save() profile.visitor_count = profile.visitor_count + 1 profile.save() year = localtime(timezone.now()).year month = localtime(timezone.now()).month day = localtime(timezone.now()).day date_number = year * 10000 + month * 100 + day try: visitor = Visitor.objects.get(date=date_number) except ObjectDoesNotExist: visitor = Visitor(date=date_number) visitor.count = visitor.count + 1 visitor.save() visitorlog = VisitorLog(visitor_id=visitor.id, user_id=user.id, IP=request.META.get('REMOTE_ADDR')) visitorlog.save() return redirect('/account/0') else: message = "Your user is inactive" else: message = "無效的帳號或密碼!" else: form = LoginForm() return render(request, 'registration/login.html', { 'test': test, 'message': message, 'form': form })
def student_login(request): message = None test = "" if request.method == "POST": form = StudentLoginForm(request.POST) if form.is_valid(): username = request.POST['teacher'] + "_" + request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: # 登入成功,導到大廳 login(request, user) # 記錄訪客資訊 admin_user = User.objects.get(id=1) try: profile = Profile.objects.get(user=admin_user) except ObjectDoesNotExist: profile = Profile(user=admin_user) profile.save() profile.visitor_count = profile.visitor_count + 1 profile.save() try: profile = Profile.objects.get(user=user) except ObjectDoesNotExist: profile = Profile(user=user) profile.save() # create Message title = "請洽詢任課教師課程名稱及選課密碼" url = "/student/classroom/add" message = Message.create(title=title, url=url, time=timezone.now()) message.save() # message for group member messagepoll = MessagePoll(message_id=message.id, reader_id=user.id) messagepoll.save() profile.visitor_count = profile.visitor_count + 1 profile.save() year = localtime(timezone.now()).year month = localtime(timezone.now()).month day = localtime(timezone.now()).day date_number = year * 10000 + month * 100 + day try: visitor = Visitor.objects.get(date=date_number) except ObjectDoesNotExist: visitor = Visitor(date=date_number) visitor.count = visitor.count + 1 visitor.save() visitorlog = VisitorLog(visitor_id=visitor.id, user_id=user.id, IP=request.META.get('REMOTE_ADDR')) visitorlog.save() return redirect('/account/0') else: message = "Your user is inactive" else: message = "無效的帳號或密碼!" else: form = StudentLoginForm() return render(request, 'account/student_login.html', { 'test': test, 'message': message, 'form': form })
def user_login(request): message = None test = "" if request.method == "POST": form = LoginForm(request.POST) if form.is_valid(): username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: if user.id == 1: if user.first_name == "": user.first_name = "管理員" user.save() # create Message title = "請修改您的姓名" url = "/account/realname" message = Message.create(title=title, url=url, time=timezone.now()) message.save() # message for group member messagepoll = MessagePoll.create( message_id=message.id, reader_id=1) messagepoll.save() # 登入成功,導到大廳 login(request, user) # 記錄系統事件 if is_event_open(request): log = Log(user_id=request.user.id, event='登入系統') log.save() # 記錄訪客資訊 admin_user = User.objects.get(id=1) try: profile = Profile.objects.get(user=admin_user) except ObjectDoesNotExist: profile = Profile(user=admin_user) profile.save() profile.login_count = profile.login_count + 1 profile.save() year = localtime(timezone.now()).year month = localtime(timezone.now()).month day = localtime(timezone.now()).day date_number = year * 10000 + month * 100 + day try: visitor = Visitor.objects.get(date=date_number) except ObjectDoesNotExist: visitor = Visitor(date=date_number) visitor.count = visitor.count + 1 visitor.save() visitorlog = VisitorLog(visitor_id=visitor.id, user_id=user.id, IP=request.META.get('REMOTE_ADDR')) visitorlog.save() return redirect('dashboard') else: message = "Your user is inactive" else: # 記錄系統事件 if is_event_open(request): log = Log(user_id=0, event='登入失敗') log.save() message = "無效的帳號或密碼!" else: form = LoginForm() return render_to_response('registration/login.html', { 'test': test, 'message': message, 'form': form }, context_instance=RequestContext(request))
def user_login(request, role): message = None test = "" if request.method == "POST": if role == "0": form = LoginForm(request.POST) else: form = LoginStudentForm(request.POST) if form.is_valid(): teacher = request.POST['teacher'] username = request.POST['username'] password = request.POST['password'] if role == "0": user = authenticate(username=username, password=password) else: user = authenticate(username=teacher + "_" + username, password=password) if user is not None: if user.is_active: if user.id == 1: zones = Zone.objects.all() if len(zones) == 0: for city_name, zones, mapx, mapy in county: city = County(name=city_name, mapx=mapx, mapy=mapy) city.save() for zone_name in zones: zone = Zone(name=zone_name, county=city.id) zone.save() school = School(county=1, zone=9, system=3, name="南港高中") school.save() user.last_name = "1" user.save() if user.first_name == "": user.first_name = "管理員" user.save() try: group = Group.objects.get(name="apply") except ObjectDoesNotExist: group = Group(name="apply") group.save() group.user_set.add(user) # create Message title = "請修改您的姓名" url = "/account/realname" message = Message(title=title, url=url, time=timezone.now()) message.save() # message for group member messagepoll = MessagePoll(message_id=message.id, reader_id=1) messagepoll.save() # 記錄訪客資訊 admin_user = User.objects.get(id=1) try: profile = Profile.objects.get(user=admin_user) except ObjectDoesNotExist: profile = Profile(user=admin_user) profile.save() profile.visitor_count = profile.visitor_count + 1 profile.save() year = localtime(timezone.now()).year month = localtime(timezone.now()).month day = localtime(timezone.now()).day date_number = year * 10000 + month * 100 + day try: visitor = Visitor.objects.get(date=date_number) except ObjectDoesNotExist: visitor = Visitor(date=date_number) except MultipleObjectsReturned: visitor = Visitor.objects.filter(date=date_number)[0] visitor.count = visitor.count + 1 visitor.save() visitorlog = VisitorLog(visitor_id=visitor.id, user_id=user.id, IP=request.META.get('REMOTE_ADDR')) visitorlog.save() # 登入成功,導到大廳 login(request, user) return redirect('/account/dashboard/0') else: message = "帳號未啟用!" else: message = "無效的帳號或密碼!" else: if role == "0": form = LoginForm() else: form = LoginStudentForm() return render(request, 'registration/login.html', { 'role': role, 'message': message, 'form': form })