🔥 Remove legacy profile
This commit is contained in:
1 parent
e2a84c25a6
commit
87396874c9
4 files changed
+2
-101
No files matched your search
@@ -1,6 +1,6 @@
|
|||||||
import { parseISO, subDays } from "date-fns";
|
import { parseISO, subDays } from "date-fns";
|
||||||
|
|
||||||
import { User } from "../types";
|
import type { User } from "../types";
|
||||||
|
|
||||||
const activeLimitDays = 365 / 2;
|
const activeLimitDays = 365 / 2;
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -2,13 +2,12 @@ from django.contrib.staticfiles.views import serve
|
|||||||
from django.urls import re_path
|
from django.urls import re_path
|
||||||
|
|
||||||
from main.views.reports import inventory, inventory_add, report
|
from main.views.reports import inventory, inventory_add, report
|
||||||
from main.views.users import create_user, profile
|
from main.views.users import create_user
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# TODO: migrate to SPA
|
# TODO: migrate to SPA
|
||||||
# Users
|
# Users
|
||||||
re_path(r"^user/create/$", create_user, name="create-user"),
|
re_path(r"^user/create/$", create_user, name="create-user"),
|
||||||
re_path(r"^profile/$", profile, name="profile"),
|
|
||||||
# Reports
|
# Reports
|
||||||
re_path(r"^inventory/$", inventory, name="inventory"),
|
re_path(r"^inventory/$", inventory, name="inventory"),
|
||||||
re_path(r"^inventory/add/$", inventory_add, name="inventory-add"),
|
re_path(r"^inventory/add/$", inventory_add, name="inventory-add"),
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth.decorators import login_required
|
|
||||||
from django.db import connection
|
|
||||||
from django.db.models import Count, Sum
|
|
||||||
from django.shortcuts import redirect, render
|
from django.shortcuts import redirect, render
|
||||||
|
|
||||||
from main.forms import SimpleCreateUserForm
|
from main.forms import SimpleCreateUserForm
|
||||||
from main.models import Order, Transaction
|
|
||||||
|
|
||||||
|
|
||||||
def create_user(request):
|
def create_user(request):
|
||||||
@@ -23,26 +19,3 @@ def create_user(request):
|
|||||||
form = SimpleCreateUserForm()
|
form = SimpleCreateUserForm()
|
||||||
|
|
||||||
return render(request, "registration/create_user.html", {"form": form})
|
return render(request, "registration/create_user.html", {"form": form})
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
|
||||||
def profile(request):
|
|
||||||
transactions = Transaction.objects.filter(user=request.user.pk)
|
|
||||||
transaction_totals = {"sum": sum([t.amount for t in transactions])}
|
|
||||||
orders = Order.objects.filter(customer=request.user.pk)
|
|
||||||
orders_totals = {"sum": sum([o.order_sum for o in orders])}
|
|
||||||
|
|
||||||
# order_lines = OrderLine.objects.filter(order__customer__pk=1).order_by("order__created")
|
|
||||||
order_report = _orders_monthly(filter_by={"customer": request.user.pk})
|
|
||||||
top_months = order_report.order_by("-sum")[:5]
|
|
||||||
|
|
||||||
return render(request, "profile.html", locals())
|
|
||||||
|
|
||||||
|
|
||||||
def _orders_monthly(filter_by={}, order_by="month"):
|
|
||||||
|
|
||||||
truncate_date = connection.ops.date_trunc_sql("month", "created")
|
|
||||||
qs = Order.objects.filter(**filter_by).extra({"month": truncate_date})
|
|
||||||
order_report = qs.values("month").annotate(sum=Sum("order_sum"), num=Count("pk")).order_by(order_by)
|
|
||||||
|
|
||||||
return order_report
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
{% block active_profile %}active{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<section id="user-profile" data-user-id="{{user.pk}}">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<h1 class="profile-name"><img src="{{ user.profile.profile_image_url }}" class="profile-image" /> {{user.first_name}}</h1>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">Saldo</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<h2>{{user.profile.balance }} kr</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">Kjøp totalt</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<h2>{{orders_totals.sum }} kr</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">Topp 5 måneder</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
{% for o in top_months %}
|
|
||||||
<li>{{ o.month|date:"F Y"}}: <strong>{{ o.num }}</strong> kjøp på totalt <strong>{{ o.sum }} kr</strong></li>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-8">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">Kjøp over tid per produkt</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<div class="profile-stats-orderline"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% comment %}<div class="row">
|
|
||||||
<div class="col-md-5">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">Ordre</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<ul>
|
|
||||||
{% for o in orders %}
|
|
||||||
<li>{{ o.created|date:"c" }}: {{ o.reciept }}</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">Transaksjoner</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<ul>
|
|
||||||
{% for t in transactions %}
|
|
||||||
<li>{{ t.created|date:"c" }} {{ t.amount }}</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endcomment %}
|
|
||||||
</section>
|
|
||||||
{% endblock %}
|
|
||||||
Reference in new issue
Block a user