Fixes for linux
This commit is contained in:
parent
708ee610f1
commit
007fb2c9e1
3 changed files with 73 additions and 69 deletions
4
apps/calendar/config/secret.toml.example
Normal file
4
apps/calendar/config/secret.toml.example
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[database]
|
||||
db = "calendar"
|
||||
user = "calendaruser"
|
||||
password = "Cal@dm1n"
|
||||
|
|
@ -16,24 +16,24 @@ async def orders_by_employee(cursor, options):
|
|||
|
||||
query = """\
|
||||
SELECT
|
||||
CONCAT(E.firstname, ' ', E.lastname) AS name,
|
||||
O.orderid,
|
||||
O.orderdate,
|
||||
C.customername,
|
||||
CONCAT(E.FirstName, ' ', E.LastName) AS name,
|
||||
O.OrderID,
|
||||
O.OrderDate,
|
||||
C.CustomerName,
|
||||
inter.value
|
||||
FROM employees AS E
|
||||
INNER JOIN orders AS O ON E.employeeid = O.employeeid
|
||||
LEFT JOIN customers AS C on O.customerid = C.customerid
|
||||
FROM Employees AS E
|
||||
INNER JOIN Orders AS O ON E.EmployeeID = O.EmployeeID
|
||||
LEFT JOIN Customers AS C on O.CustomerID = C.CustomerID
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
OD.orderid,
|
||||
SUM(OD.quantity * P.price) AS value
|
||||
FROM orderdetails AS OD
|
||||
LEFT JOIN products AS P ON OD.productid = P.productid
|
||||
WHERE P.categoryid IN ({})
|
||||
GROUP BY OD.orderid
|
||||
) AS inter ON o.orderid = inter.orderid
|
||||
WHERE O.orderdate BETWEEN %s AND %s;""".format(",".join(['%s'] * len(options["category"])))
|
||||
OD.OrderID,
|
||||
SUM(OD.Quantity * P.Price) AS value
|
||||
FROM OrderDetails AS OD
|
||||
LEFT JOIN Products AS P ON OD.ProductID = P.ProductID
|
||||
WHERE P.CategoryID IN ({})
|
||||
GROUP BY OD.OrderID
|
||||
) AS inter ON O.OrderID = inter.OrderID
|
||||
WHERE O.OrderDate BETWEEN %s AND %s;""".format(",".join(['%s'] * len(options["category"])))
|
||||
|
||||
await cursor.execute(query, [*options["category"].keys(), options["date"]["from"], options["date"]["to"]])
|
||||
rows = await cursor.fetchall()
|
||||
|
|
@ -68,22 +68,22 @@ async def orders_by_location(cursor, options):
|
|||
query = """\
|
||||
SELECT
|
||||
{},
|
||||
C.customername,
|
||||
O.orderid,
|
||||
O.orderdate,
|
||||
C.CustomerName,
|
||||
O.OrderID,
|
||||
O.OrderDate,
|
||||
inter.value
|
||||
FROM orders AS O
|
||||
LEFT JOIN customers AS C on O.customerid = C.customerid
|
||||
FROM Orders AS O
|
||||
LEFT JOIN Customers AS C ON O.CustomerID = C.CustomerID
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
OD.orderid,
|
||||
SUM(OD.quantity * P.price) AS value
|
||||
FROM orderdetails AS OD
|
||||
LEFT JOIN products AS P ON OD.productid = P.productid
|
||||
WHERE P.categoryid IN ({})
|
||||
GROUP BY OD.orderid
|
||||
) AS inter ON o.orderid = inter.orderid
|
||||
WHERE O.orderdate BETWEEN %s AND %s;\
|
||||
OD.OrderID,
|
||||
SUM(OD.quantity * P.Price) AS value
|
||||
FROM OrderDetails AS OD
|
||||
LEFT JOIN Products AS P ON OD.ProductID = P.ProductID
|
||||
WHERE P.CategoryID IN ({})
|
||||
GROUP BY OD.OrderID
|
||||
) AS inter ON O.OrderID = inter.OrderID
|
||||
WHERE O.OrderDate BETWEEN %s AND %s;\
|
||||
""".format(location_query[options["location"]], ",".join(['%s'] * len(options["category"])))
|
||||
|
||||
await cursor.execute(query, [*options["category"].keys(), options["date"]["from"], options["date"]["to"]])
|
||||
|
|
@ -111,18 +111,18 @@ async def orders_by_product(cursor, options):
|
|||
|
||||
query = """\
|
||||
SELECT
|
||||
P.productname,
|
||||
C.customername,
|
||||
O.orderid,
|
||||
O.orderdate,
|
||||
OD.quantity,
|
||||
OD.quantity * P.price AS value
|
||||
FROM orderdetails AS OD
|
||||
LEFT JOIN orders AS O ON OD.orderid = O.orderid
|
||||
LEFT JOIN products AS P ON OD.productid = P.productid
|
||||
LEFT JOIN customers AS C ON O.customerid = C.customerid
|
||||
WHERE P.categoryid IN ({})
|
||||
AND O.orderdate BETWEEN %s AND %s;\
|
||||
P.ProductName,
|
||||
C.CustomerName,
|
||||
O.OrderID,
|
||||
O.OrderDate,
|
||||
OD.Quantity,
|
||||
OD.Quantity * P.Price AS value
|
||||
FROM OrderDetails AS OD
|
||||
LEFT JOIN Orders AS O ON OD.OrderID = O.OrderID
|
||||
LEFT JOIN Products AS P ON OD.ProductID = P.ProductID
|
||||
LEFT JOIN Customers AS C ON O.CustomerID = C.CustomerID
|
||||
WHERE P.CategoryID IN ({})
|
||||
AND O.OrderDate BETWEEN %s AND %s;\
|
||||
""".format(",".join(['%s'] * len(options["category"])))
|
||||
|
||||
await cursor.execute(query, [*options["category"].keys(), options["date"]["from"], options["date"]["to"]])
|
||||
|
|
@ -151,19 +151,19 @@ async def orders_by_supplier(cursor, options):
|
|||
query = """\
|
||||
SELECT
|
||||
S.suppliername,
|
||||
P.productname,
|
||||
C.customername,
|
||||
O.orderid,
|
||||
O.orderdate,
|
||||
OD.quantity,
|
||||
OD.quantity * P.price AS value
|
||||
FROM orderdetails AS OD
|
||||
LEFT JOIN orders AS O ON OD.orderid = O.orderid
|
||||
LEFT JOIN products AS P ON OD.productid = P.productid
|
||||
LEFT JOIN customers AS C ON O.customerid = C.customerid
|
||||
LEFT JOIN suppliers AS S ON P.supplierid = S.supplierid
|
||||
WHERE P.categoryid IN ({})
|
||||
AND O.orderdate BETWEEN %s AND %s;\
|
||||
P.ProductName,
|
||||
C.CustomerName,
|
||||
O.OrderID,
|
||||
O.OrderDate,
|
||||
OD.Quantity,
|
||||
OD.Quantity * P.Price AS value
|
||||
FROM OrderDetails AS OD
|
||||
LEFT JOIN Orders AS O ON OD.OrderID = O.OrderID
|
||||
LEFT JOIN Products AS P ON OD.ProductID = P.ProductID
|
||||
LEFT JOIN Customers AS C ON O.CustomerID = C.CustomerID
|
||||
LEFT JOIN Suppliers AS S ON P.SupplierID = S.SupplierID
|
||||
WHERE P.CategoryID IN ({})
|
||||
AND O.OrderDate BETWEEN %s AND %s;\
|
||||
""".format(",".join(['%s'] * len(options["category"])))
|
||||
|
||||
await cursor.execute(query, [*options["category"].keys(), options["date"]["from"], options["date"]["to"]])
|
||||
|
|
@ -207,40 +207,40 @@ async def pivot_table(cursor, options):
|
|||
# SELECT, GROUP BY, JOIN
|
||||
parts = {
|
||||
'none' : ("", "", ""),
|
||||
'month' : ("CONCAT(YEAR(o.orderdate), '-', LPAD(MONTH(o.orderdate), 2, '0')) AS month", "month", ""),
|
||||
'year' : ("YEAR(o.orderdate) AS year", "year", ""),
|
||||
'month' : ("CONCAT(YEAR(O.OrderDate), '-', LPAD(MONTH(O.OrderDate), 2, '0')) AS month", "month", ""),
|
||||
'year' : ("YEAR(O.OrderDate) AS year", "year", ""),
|
||||
'employee': ("CONCAT(E.firstname, ' ', E.lastname) AS employeename",
|
||||
"employeename",
|
||||
"LEFT JOIN employees AS E ON O.employeeid = E.employeeid"),
|
||||
'shipper' : ("SH.shippername",
|
||||
"SH.shippername",
|
||||
"LEFT JOIN shippers AS SH ON O.shipperid = SH.shipperid"),
|
||||
'customer': ("C.customername",
|
||||
"C.customername",
|
||||
"LEFT JOIN customers AS C ON O.customerid = C.customerid"),
|
||||
'customer': ("C.CustomerName",
|
||||
"C.CustomerName",
|
||||
"LEFT JOIN customers AS C ON O.CustomerID = C.CustomerID"),
|
||||
'supplier': ("S.suppliername",
|
||||
"S.suppliername",
|
||||
"LEFT JOIN suppliers AS S ON P.supplierid = S.supplierid"),
|
||||
"LEFT JOIN suppliers AS S ON P.SupplierID = S.SupplierID"),
|
||||
'category': ("CA.categoryname",
|
||||
"CA.categoryname",
|
||||
"LEFT JOIN categories AS CA ON P.categoryid = CA.categoryid"),
|
||||
'product' : ("P.productname", "P.productname", "")
|
||||
"LEFT JOIN categories AS CA ON P.CategoryID = CA.CategoryID"),
|
||||
'product' : ("P.ProductName", "P.ProductName", "")
|
||||
}
|
||||
|
||||
values = {
|
||||
'sales' : 'SUM(OD.quantity * P.price)',
|
||||
'qty' : 'SUM(OD.quantity)'
|
||||
'sales' : 'SUM(OD.Quantity * P.Price)',
|
||||
'qty' : 'SUM(OD.Quantity)'
|
||||
}
|
||||
|
||||
query = """
|
||||
SELECT
|
||||
{rows} {columns} {values}
|
||||
FROM orderdetails AS OD
|
||||
LEFT JOIN orders AS O ON OD.orderid = O.orderid
|
||||
LEFT JOIN products AS P ON OD.productid = P.productid
|
||||
FROM OrderDetails AS OD
|
||||
LEFT JOIN Orders AS O ON OD.OrderID = O.OrderID
|
||||
LEFT JOIN Products AS P ON OD.ProductID = P.ProductID
|
||||
{joins}
|
||||
WHERE P.categoryid IN ({categories})
|
||||
AND O.orderdate BETWEEN %s AND %s
|
||||
WHERE P.CategoryID IN ({categories})
|
||||
AND O.OrderDate BETWEEN %s AND %s
|
||||
GROUP BY {grouprows}{groupcols}
|
||||
""".format(
|
||||
rows=f"{parts[options['rows']][0]},",
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@
|
|||
</section>
|
||||
</main>
|
||||
|
||||
<script src="static/bs/bootstrap.bundle.min.js"></script>
|
||||
<script src="static/bootstrap/bootstrap.bundle.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.onload = () => {
|
||||
const email = document.getElementById('email');
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue