def order_show(request): if not (is_auth(request)): return redirect('/users/login') orders = Order.objects.prefetch_related('orderitem').all() response = [] for order in orders: id = order.id created = order.created fullname = order.customer.name + ' ' + order.customer.lastname orderitems = order.orderitem.all() total = 0 array_item_names = [] array_status = [] for orderitem in orderitems: total += int(orderitem.price) * int(orderitem.quantity) array_item_names.append(orderitem.item.name) array_status.append(orderitem.status.name) dict = { "id": id, "created": created, "fullname": fullname, "status": list(set(array_status)), "item_names": list(set(array_item_names)), "total": total } response.append(dict) return render(request, "backoffice/order/show.html", {'orders': response})
def user_org_destroy(request, id): if not (is_auth(request)): return redirect('/users/login') user_org = UserOrganization.objects.get(id=id) userid = user_org.user_id user_org.delete() return redirect("/backoffice/user_org_show/" + str(userid))
def customer_destroy(request, id): if not (is_auth(request)): return redirect('/users/login') customer = Customer.objects.get(id=id) try: delete = customer.delete() return HttpResponse(True) except Exception as e: return HttpResponse(False)
def item_destroy(request, id): if not (is_auth(request)): return redirect('/users/login') item = Item.objects.get(id=id) storeid = item.store.id try: delete = item.delete() return HttpResponse(True) except Exception as e: return HttpResponse(False)
def order_log(request, orderid): if not (is_auth(request)): return redirect('/users/login') response = [] order_item = OrderItem.objects.filter(order_id=orderid) for orderitem in order_item: orderitemlog = OrderItemLog.objects.filter( orderitem_id=orderitem.id) response.append(orderitemlog) return render(request, "backoffice/order/log.html", {'logs': response})
def user_org_show(request, userid): if not (is_auth(request)): return redirect('/users/login') user = User.objects.get(id=userid) colection = UserOrganization.objects.filter(user_id=user.id) response = [] for user_org in colection: dict = {'id': user_org.id, 'name': user_org.organization.name} response.append(dict) context = {'org': response, 'userid': userid} return render(request, "backoffice/user/user_org_show.html", context)
def login(request): if (is_auth(request)): return redirect('/') if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user = authenticate(request, username=username, password=password) if user is not None: login_django(request, user) return redirect('/') else: messages.error(request, 'User or password invalid') context = {} return render(request, 'users/login.html', context)
def register(request): if (is_auth(request)): return redirect('/') if request.method == 'POST': form = UserRegisterForm(request.POST) if form.is_valid(): user = form.save() username = form.cleaned_data.get('username') messages.success(request, 'Account created for ' + username) return redirect('/users/login') else: context = {'form': form} return render(request, 'users/register.html', context) else: form = UserRegisterForm() context = {'form': form} return render(request, 'users/register.html', context)
def main(request): if not (is_auth(request)): return redirect('/users/login') store_count = Store.objects.count() item_count = Item.objects.count() customer_count = Customer.objects.count() order_count = Order.objects.count() context = { 'store_count': store_count, 'item_count': item_count, 'customer_count': customer_count, 'order_count': order_count } return render(request, 'dashboard/dashboard.html', context)
def user_org_add(request, userid): if not (is_auth(request)): return redirect('/users/login') if request.method == "POST": request.POST._mutable = True request.POST['user'] = userid form = UserOrgAddForm(request.POST) if form.is_valid(): form.save() return redirect("/backoffice/user_org_show/" + str(userid)) else: pass else: form = UserOrgAddForm() context = {'form': form, 'userid': userid} return render(request, 'backoffice/user/user_org_add.html', context)
def edit_pass(request): if not (is_auth(request)): return redirect('/users/login') if request.method == 'POST': form = PasswordChangeCustomForm(request.user, request.POST) if form.is_valid(): user = form.save() update_session_auth_hash(request, user) messages.success(request, 'Your password was successfully updated!') return redirect('/users/edit_pass') else: context = {'form': form} return render(request, 'users/edit_password.html', context) else: form = PasswordChangeCustomForm(request.user) context = {'form': form} return render(request, 'users/edit_password.html', context)
def item_show(request, storeid=None): if not (is_auth(request)): return redirect('/users/login') if (storeid != None): # get orgid for return button store = Store.objects.filter(id=storeid)[0] items = Item.objects.filter(store=storeid).order_by('id') return render(request, "backoffice/item/show.html", { 'items': items, 'storeid': storeid, 'orgid': store.organization.id }) else: items = Item.objects.all().order_by('id') return render(request, "backoffice/item/show.html", { 'items': items, 'storeid': storeid })
def edit_info(request): if not (is_auth(request)): return redirect('/users/login') user_id = request.user.id user = User.objects.get(id = user_id) if request.method == 'POST': form = UserEditForm(request.POST, instance = user) if form.is_valid(): user = form.save() messages.success(request, 'Your profile was successfully updated!') return redirect('/users/edit_info') else: context = {'form': form} return render(request, 'users/edit_info.html', context) else: form = UserEditForm(instance = user) context = {'form': form} return render(request, 'users/edit_info.html', context)
def user_edit(request, id): if not (is_auth(request)): return redirect('/users/login') user = User.objects.get(id=id) if request.method == "POST": form = UserEditForm(request.POST, instance=user) if form.is_valid(): form.save() if user.role_id == 2: return redirect("/backoffice/owner_show") if user.role_id == 3: return redirect("/backoffice/seller_show") else: form = UserEditForm(instance=user) context = {'form': form, 'user': user} return render(request, 'backoffice/user/edit.html', context)
def item_edit(request, id): if not (is_auth(request)): return redirect('/users/login') item = Item.objects.get(id=id) storeid = item.store.id if request.method == "POST": # Hacer el request mutable ( permitir agregarle keys al dictionary ) para luego presetearle el org_id request.POST._mutable = True request.POST['store'] = storeid form = ItemForm(request.POST, request.FILES, instance=item) if form.is_valid(): form.save() return redirect("/backoffice/item_show/" + str(storeid)) else: form = ItemForm(instance=item) context = {'form': form, 'item': item} return render(request, 'backoffice/item/edit.html', context)
def seller_add(request): if not (is_auth(request)): return redirect('/users/login') if request.method == "POST": request.POST._mutable = True request.POST['role'] = 3 form = UserForm(request.POST) if form.is_valid(): # Hash password and save user = form.save(commit=False) password = form.cleaned_data['password'] user.set_password(password) user.save() return redirect("/backoffice/seller_show") else: pass else: form = UserForm() context = {'form': form} return render(request, 'backoffice/user/seller_add.html', context)
def item_add(request, storeid=None): if not (is_auth(request)): return redirect('/users/login') if request.method == "POST": if (storeid != None): # Hacer el request mutable ( permitir agregarle keys al dictionary ) para luego presetearle el org_id request.POST._mutable = True request.POST['store'] = storeid form = ItemForm(request.POST, request.FILES) if form.is_valid(): form.save() if (storeid != None): return redirect("/backoffice/item_show/" + str(storeid)) else: return redirect("/backoffice/item_show") else: pass else: form = ItemForm() context = {'form': form, 'storeid': storeid} return render(request, 'backoffice/item/add.html', context)
def view_info(request): if not (is_auth(request)): return redirect('/users/login') context = {} return render(request, 'users/profile.html', context)
def logout(request): if not (is_auth(request)): return redirect('/users/login') logout_django(request) return redirect('/users/login')
def seller_show(request): if not (is_auth(request)): return redirect('/users/login') users = User.objects.filter(role=3) return render(request, "backoffice/user/seller_show.html", {'users': users})
def customer_show(request): if not (is_auth(request)): return redirect('/users/login') customers = Customer.objects.all() return render(request, "backoffice/customer/show.html", {'customers': customers})