def get(self, request, **kwargs): if not settings.ALLOW_NEW_USERS: messages.error(self.request, 'New user registration is currently closed.') return redirect('/auth/login') else: return super(SignUp, self).get(request)
def income_editView(request, id): income = UserIncome.objects.get(pk=id) sources = Source.objects.filter(owner=request.user) context = { 'income': income, 'values': income, 'sources': sources, } if request.method == 'GET': return render(request, 'income/edit_income.html', context) if request.method == 'POST': amount = request.POST['amount'] if not amount: messages.error(request, 'Amount is required') return render(request, 'income/edit_income.html', context) description = request.POST['description'] date = request.POST['income_date'] source = request.POST['source'] if not description: messages.error(request, 'description is required') return render(request, 'income/edit_income.html', context) income.amount = amount income.date = date income.source = source income.description = description income.save() # messages.success(request, 'Record updated successfully') return redirect('income_url')
def add_incomeView(request): sources = Source.objects.filter(owner=request.user) context = {'sources': sources, 'values': request.POST} if request.method == 'GET': return render(request, 'income/add_income.html', context) if request.method == 'POST': amount = request.POST['amount'] if not amount: messages.error(request, 'Amount is required') return render(request, 'income/add_income.html', context) description = request.POST['description'] date = request.POST['income_date'] source = request.POST['source'] if not description: messages.error(request, 'description is required') return render(request, 'income/add_income.html', context) UserIncome.objects.create(owner=request.user, amount=amount, date=date, source=source, description=description) # messages.success(request, 'Record saved successfully') return redirect('income_url')
def porosit(request): shporta = request.session.get('cart') receipt = Receipt.objects.create(klient=request.user) cmimi_total = 0 for produkt in shporta.values(): produkti_kerkuar = Product.objects.get(id=produkt['product_id']) sasia_kerkuar = produkt['quantity'] if produkti_kerkuar.sasia >= sasia_kerkuar: receipt_product = ReceiptProducts.objects.create(receipt=receipt, sasia=sasia_kerkuar, cmimi_total=float(produkt['price']) * sasia_kerkuar, produkti_id=produkt['product_id']) produkti_kerkuar.sasia = produkti_kerkuar.sasia - sasia_kerkuar produkti_kerkuar.save() cmimi_total = cmimi_total + receipt_product.cmimi_total else: messages.error(request, f'Produkti {produkti_kerkuar.name}, ka ne gjendje vetem {produkti_kerkuar.sasia}') receipt.delete() return redirect("cart_detail") if not receipt.receipt_products.all(): receipt.delete() receipt.totali = cmimi_total receipt.save() messages.success(request, 'Blerja u krye me sukses!') cart_clear(request) return redirect("cart_detail")
def index(request): if request.method == 'POST': tablefill = CronJob() tablefill.user_id = request.user.id title = request.POST.get('title') url = request.POST.get('url') auth = request.POST.get('auth') if auth == 'on': auth = True username = request.POST.get('username') password = request.POST.get('password') if password != '': enc_password = pbkdf2_sha256.encrypt(password, rounds="12000", salt_size=32) else: enc_password = '' if auth == 'on' and username == '' or password == '': messages.error( request, 'wen http aktiviert ist müssen sie einen benutzer und Passwort eingeben' ) return render(request, 'Cronjob_Dev/index.html') if auth is None: auth = False auswahl = request.POST.get('ausführung') username = request.POST.get('username') password = request.POST.get('password') if auswahl == 'firstbut': minute = request.POST.get('min1') tablefill.minute = minute tablefill.cronejob = minute + " *" + " *" + " *" + " *" if auswahl == 'secondbut': hour = request.POST.get('hour1') minute = request.POST.get('min2') tablefill.cronejob = minute + hour + " *" + " *" + " *" if auswahl == 'thirdbut': day = request.POST.get('day') hour = request.POST.get('hour2') minute = request.POST.get('min3') tablefill.cronejob = minute + hour + day + " *" + " *" tablefill.title = title tablefill.url = url tablefill.username = username tablefill.password = password tablefill.auth = auth tablefill.save() return render(request, 'Cronjob_Dev/index.html') else: return render(request, 'Cronjob_Dev/index.html')
def interactions(request, user_id): if user_id is not request.user.id: messages.error(request, 'You do not have permission to view this page.') return redirect('/reports/') interaction_list = Interaction.objects.all().filter( user=SiteUser.objects.get(id=user_id)).order_by('-timestamp')[:25] context = {'interaction_list': interaction_list} return render(request, 'registration/interactions.html', context)
def AddSourceView(request): if request.method == 'POST': name = request.POST['Source_name'] if not name: messages.error(request, 'Name is required') return render(request, 'income/add_Source.html') Source.objects.create(owner=request.user, name=name) # messages.success(request, 'Source saved successfully') return redirect('add-source_url') else: return render(request, 'income/add-Source.html')
def change_password(request): if request.method == 'POST': form = PasswordChangeForm(request.user, request.POST) if form.is_valid(): user = form.save() update_session_auth_hash(request, user) # Important! messages.success(request, 'Your password was successfully updated!') return redirect('change_password') else: messages.error(request, 'Please correct the error below.') else: form = PasswordChangeForm(request.user) return render(request, 'accounts/change_password.html', {'form': form})
def register(request): if request.method == "POST": form = UserCreationForm(request.POST) if form.is_valid(): user = form.save() username = form.cleaned_data.get('username') messages.success(request, f"Llogaria e re eshte krijuar:{username}") login(request, user) messages.info(request, f"Ju jeni te loguar si {username} ") return redirect("register") else: for msg in form.error_messages: messages.error(request, f"{msg}: {form.error_messages[msg]}") form = UserCreationForm return render(request, "identifikim/register.html", context={"form": form})
def login_user(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: login(request, user) messages.success(request, 'You have been logged in.') return redirect('index') else: messages.error(request, 'Incorrect Info') return redirect('login') else: return render(request, 'Cronjob_Dev/login_user.html', {}) def cron(request): return render(request, 'Cronjob_Dev/cron.html')
def login_request(request): if request.method == 'POST': form = AuthenticationForm(request=request, data=request.POST) 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) 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.") form = AuthenticationForm() return render(request=request, template_name="identifikim/login.html", context={"form": form})
def login_view(request): if request.user.is_authenticated: return redirect('index') if request.method == 'POST': username = request.POST.get('username') # diccionario password = request.POST.get('password') user = authenticate(username=username, password=password) # si no existe retorna NONE if user: login(request, user) # acá se crea la sesión con el usuario messages.success(request, 'Bienvenido {}'.format(user.username)) return redirect('index') else: messages.error(request, 'Usuario o contraseña no validos') return render(request, 'users/login.html', {})
def protected_chatroom(request, pk): try: chat_room = Chatroom.objects.get(pk=pk) except Chatroom.DoesNotExist: raise Http404 if request.method == 'POST': password_get = request.POST['password_get'] if chat_room.password == password_get: context = {'chat_room': chat_room} if chat_room.is_anonymous_supported: return render(request, 'chatroom/join_chatroom.html', context) else: return render(request, 'chatroom/livechatroom.html', context) else: context = {'chat_room': chat_room} messages.error(request, 'Wrong Password!') return render(request, 'chatroom/protected_chatroom.html', context) else: context = {'chat_room': chat_room} return render(request, 'chatroom/protected_chatroom.html', context)
def update_profile(request, pk): user = User.objects.get(pk=pk) user.profile.git_profile = 'https://github.com/' user.save() user.profile.save() if request.method == 'POST': user_form = UserChangeForm(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() return redirect('accounts:detail', pk=pk) else: messages.error(request, _('Please correct the error below.')) else: user_form = UserChangeForm(instance=request.user) profile_form = ProfileForm(instance=request.user.profile) return render(request, 'user_update.html', { 'user_form': user_form, 'profile_form': profile_form })
def upload_csv(request): data = {} if "GET" == request.method: return render(request, "CSV/upload_csv.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("CSVapp:upload_csv")) #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("CSV:upload_csv")) 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_time"] = fields[1] data_dict["end_date_time"] = fields[2] data_dict["notes"] = fields[3] try: form = EventsForm(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 HttpResponseRedirect(reverse("CSVapp:upload_csv"))
def custom_login(request, **kwargs): if request.user.is_authenticated(): messages.error(request, 'You are already logged in.') return redirect('/') else: return login(request, kwargs)
def profile(request, user_id): if user_id is not request.user.id and SiteUser.objects.get( id=user_id).private: messages.error(request, "This user's profile is private.") return redirect('/reports/') return render(request, 'registration/account.html')