def deleteMessage(request, message_id): viewsReponse = Message.objects.deleteMessage(message_id) if viewsReponse['status']: return redirect('apt:index') else: for error in viewsReponse['errors']: messages.error(request, error) return redirect('apt:index')
def addMessage(request): viewsReponse = Message.objects.addMessage(request.POST) if viewsReponse['status']: return redirect('apt:index') else: for error in viewsReponse['errors']: messages.error(request, error) return redirect('apt:index')
def deleteComment(request, comment_id): viewsReponse = Comment.objects.deleteComment(comment_id) if viewsReponse['status']: return redirect('apt:index') else: for error in viewsReponse['errors']: messages.error(request, error) return redirect('apt:index')
def signin(request): viewsReponse = User.objects.signin(request.POST) if viewsReponse['status']: request.session['user_id'] = viewsReponse['user_id'] request.session['first_name'] = User.objects.get( id=request.session['user_id']).first_name return redirect('main:index') else: for error in viewsReponse['errors']: messages.error(request, error) return redirect('user:index')
def update(request): errors = Blog.objects.basic_validator(request.POST) if len(errors): for tag, error in errors.iteritems(): messages.error(request, error, extra_tags=tag) return redirect('/blog/edit/' + id) else: blog = Blog.objects.get(id=id) blog.name = request.POST['name'] blog.desc = request.POST['desc'] blog.save() return redirect('/blogs')
def addEvent(request): viewsReponse = Event.objects.addEvent(request.POST) g_place = geocode.place(request.POST['place']) if viewsReponse['status']: context = { 'place': g_place, # 'place2': (g_place['results'][0]['formatted_address']) } return render(request, 'appointments/add_event.html', context) # return redirect('apt:index') else: for error in viewsReponse['errors']: messages.error(request, error) return redirect('apt:index')
def post(self, request, *args, **kwargs): form = Loginform(request.POST) if form.is_valid(): user = authenticate( request, username=form.cleaned_data['username'], password=form.cleaned_data['password'], ) if user is not None: login(request, user) return redirect('onlineapp:college_html') else: messages.error(request, "Invalid Credentials") return redirect('onlineapp:login')
def signup(request): if request.method == "POST": print(request.POST) viewsReponse = User.objects.signup(request.POST) if viewsReponse['status']: request.session['user_id'] = viewsReponse['user'].id request.session['first_name'] = viewsReponse['user'].first_name request.session['logged_in'] = True return redirect('main:index') else: for error in viewsReponse['errors']: messages.error(request, error) return redirect('user:signup') return render(request, 'user/signup.html')
def login(request): errors = User.objects.validate_login(request.POST) if len(errors): for tag, error in errors.iteritems(): messages.error(request, error, extra_tags=tag) return redirect('/') if not errors: user = User.objects.filter(email=request.POST['email'])[0] request.session['id'] = user.id if bcrypt.checkpw(request.POST['password'].encode(), user.password.encode()): return redirect('/sucess') else: messages.error(request, 'password is incorrect.') return redirect('/')
def register(request): errors = User.objects.validate_registration(request.POST) if len(errors): for tag, error in errors.iteritems(): messages.error(request, error, extra_tags=tag) return redirect('/') if not errors: hashedpw = bcrypt.hashpw(request.POST['password'].encode(), bcrypt.gensalt()) new_user = User.objects.create(first_name=request.POST['first_name'], last_name=request.POST['last_name'], email=request.POST['email'], password=hashedpw) request.session['id'] = new_user.id return redirect('/')
def process_new_travel(request): errors = Travel.objects.validate(request.POST) if len(errors): for tag, error in errors.iteritems(): messages.error(request, error, extra_tags=tag) return redirect("travels:add") if not errors: current_user = User.objects.get(id=request.session['id']) new_travel = Travel.objects.create( destnation=request.POST['destination'], travel_start_date=request.POST['date_from'], travel_end_date=request.POST['date_to'], plan=request.POST['description'], travel_created_by=current_user, ) return redirect("travels:index")
def update(request, user_id): errors = User.objects.update_validator(request.POST, user_id) if len(errors): for tag, error in errors.iteritems(): messages.error(request, error, extra_tags=tag) request.session["first_name"] = request.POST['first_name'] request.session["last_name"] = request.POST['last_name'] request.session["email"] = request.POST['email'] return redirect('/' + user_id + '/edit') else: user = User.objects.get(id=user_id) user.first_name = request.POST['first_name'] user.last_name = request.POST['last_name'] user.email = request.POST['email'] user.password = request.POST['password'] user.save() return redirect('/', user_id=user_id)
def post(self, request): pass form = Signupform(request.POST) if form.is_valid(): user = User.objects.create_user(**form.cleaned_data) user.save() user = authenticate(request, username=form.cleaned_data["username"], password=form.cleaned_data["password"]) if user is not None: login(request, user) return redirect('onlineapp:colleges') else: messages.error(request, "invaalid Credentials") return render(request, template_name='onlineapp:colleges', context={})
def create(request): if request.method == 'POST': errors = Course.objects.basic_validator(request.POST) errors.update(Description.objects.basic_validator(request.POST)) if len(errors): for tag, error in errors.iteritems(): messages.error(request, error, extra_tags=tag) request.session['name'] = request.POST['name'] request.session['desc'] = request.POST['desc'] else: desc = Description.objects.create(content=request.POST['desc']) Course.objects.create(name=request.POST['name'], description=desc) if 'name' in request.session: del request.session['name'] if 'desc' in request.session: del request.session['desc'] return redirect('/')
def update_profile(request): if request.method == 'POST': user_form = UserForm(request.POST, instance=request.user) profile_form = ProfileForm(request.POST, instance=request.user.profile) if user_form.is_valid() and profile_form.is_valid(): user_form.save() profile_form.save() messages.success(request,'Your profile was successfully updated!') return redirect('settings:profile') else: messages.error(request,'Please correct the error below.') else: user_form = UserForm(instance=request.user) profile_form = ProfileForm(instance=request.user.profile) return render(request, 'profiles/profile.html', { 'user_form': user_form, 'profile_form': profile_form })
def uploadData(request): data = {} if "GET" == request.method: return render(request, "joinCourse/uploadForm.html", data) # if not GET, then proceed try: csv_file = request.FILES["csv_file"] if not csv_file.name.endswith('.csv'): messages.error(request, 'File is not CSV type') return HttpResponseRedirect(reverse("courses:uploadData")) #if file is too large, return if csv_file.multiple_chunks(): messages.error( request, "Uploaded file is too big (%.2f MB)." % (csv_file.size / (1000 * 1000), )) return HttpResponseRedirect(reverse("courses:uploadData")) file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") #loop over the lines and save them in db. If error , store as string and then display for line in lines: fields = line.split(",") data_dict = {} data_dict["name"] = fields[0] data_dict["start_date"] = fields[1] data_dict["end_date"] = fields[2] data_dict["notes"] = fields[3] try: form = employee(data_dict) if form.is_valid(): form.save() else: logging.getLogger("error_logger").error( form.errors.as_json()) except Exception as e: logging.getLogger("error_logger").error(repr(e)) pass except Exception as e: logging.getLogger("error_logger").error("Unable to upload file. " + repr(e)) #messages.error(request,"Unable to upload file. "+repr(e)) return HttpResponse("Success")
def create(request): errors = User.objects.insert_validator(request.POST) if len(errors): for tag, error in errors.iteritems(): messages.error(request, error, extra_tags=tag) context = { "first_name": request.POST['first_name'], "last_name": request.POST['last_name'], "email": request.POST['email'] } return render(request, "semiresult_users_apps/new.html", context) else: salt = binascii.b2a_hex(os.urandom(15)) hashed_pw = md5.new(request.POST['password'] + salt).hexdigest() User.objects.create(first_name=request.POST['first_name'], last_name=request.POST['last_name'], email=request.POST['email'], password=hashed_pw, salt=salt) return redirect('/', user_id=User.objects.latest('id').id)
def login_request(request): if request.method == 'POST': form = AuthenticationForm() if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') user = authenticate(username=username, password=password) if user is not None: login(request, user) request.session['user'] = user messages.info(request, f' You are now logged in as {{ username }}') return redirect('/') else: messages.error(request, "Invalid username or password") else: messages.error(request, "Invalid username or password") else: form = AuthenticationForm() return render(request, 'registration/login.html', {'form': form})
def edit(request, user_id): if "first_name" in request.session: user = { "id": user_id, "first_name": request.session["first_name"], "last_name": request.session["last_name"], "email": request.session["email"] } del request.session["first_name"] del request.session["last_name"] del request.session["email"] return render(request, "semiresult_users_apps/edit.html", {"user": user}) else: user = User.objects.filter(id=user_id) if len(user) == 1: return render(request, "semiresult_users_apps/edit.html", {"user": user.first()}) else: messages.error(request, "No user or too many users found") return redirect('/')
def upload_csv(request): data = {} if "GET" == request.method: return render(request, "csvupload.html", data) # if not GET, then proceed try: csv_file = request.FILES["csv_file"] if not csv_file.name.endswith('.csv'): messages.error(request, 'File is not CSV type') return HttpResponseRedirect('/') #if file is too large, return if csv_file.multiple_chunks(): messages.error( request, "Uploaded file is too big (%.2f MB)." % (csv_file.size / (1000 * 1000), )) return HttpResponseRedirect('/') file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") #loop over the lines and save them in db. If error , store as string and then display for line in lines: fields = line.split(",") data_dict = {} data_dict["name"] = fields[0] data_dict["email"] = fields[1] try: form = NominalRollForm(data_dict) if form.is_valid(): form = NominalRoll.objects.update_or_create( uploaded_by=request.user, name=form.cleaned_data['name'], saved_name=form.cleaned_data['name'].lower().replace( " ", "_"), email=form.cleaned_data['email']) form.save() else: logging.getLogger("error_logger").error( form.errors.as_json()) except Exception as e: logging.getLogger("error_logger").error(repr(e)) pass except Exception as e: logging.getLogger("error_logger").error("Unable to upload file. " + repr(e)) messages.error(request, "Unable to upload file. " + repr(e)) return HttpResponseRedirect('/')