Chore: Start and Finish date in reports extracted to function
This commit is contained in:
@ -0,0 +1,9 @@
|
||||
from datetime import date, datetime
|
||||
|
||||
|
||||
def report_start_date(s: str = None) -> date:
|
||||
return date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
|
||||
|
||||
def report_finish_date(f: str = None) -> date:
|
||||
return date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import date, timedelta
|
||||
from operator import or_
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Security, status
|
||||
@ -10,6 +10,7 @@ from ...core.security import get_current_active_user as get_user
|
||||
from ...db.session import SessionLocal
|
||||
from ...models import Inventory, Kot, ProductVersion, Voucher, VoucherType
|
||||
from ...schemas.auth import UserToken
|
||||
from . import report_finish_date, report_start_date
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@ -26,13 +27,11 @@ def get_db() -> Session:
|
||||
|
||||
@router.get("")
|
||||
def beer_consumption(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["beer-consumption-report"]),
|
||||
):
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import date, timedelta
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Security, status
|
||||
@ -10,6 +10,7 @@ from ...db.session import SessionLocal
|
||||
from ...models import Reprint, Settlement, SettleOption, Voucher, VoucherType
|
||||
from ...schemas.auth import UserToken
|
||||
from ...schemas.bill_settlement_report import BillSettlement, BillSettlementItem
|
||||
from . import report_finish_date, report_start_date
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@ -26,13 +27,11 @@ def get_db() -> Session:
|
||||
|
||||
@router.get("", response_model=BillSettlement)
|
||||
def bill_details(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["bill-settlement-report"]),
|
||||
) -> BillSettlement:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import uuid
|
||||
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import date, timedelta
|
||||
from typing import Dict, List
|
||||
|
||||
from fastapi import APIRouter, Cookie, Depends, HTTPException, Security, status
|
||||
@ -19,6 +19,7 @@ from ...schemas.cashier_report import (
|
||||
NameAmount,
|
||||
SettleOptionSchema,
|
||||
)
|
||||
from . import report_finish_date, report_start_date
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@ -35,13 +36,12 @@ def get_db() -> Session:
|
||||
|
||||
@router.get("/active")
|
||||
def active_cashiers(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["cashier-report"]),
|
||||
):
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
@ -70,13 +70,11 @@ def get_active_cashiers(start_date: date, finish_date: date, db: Session) -> Lis
|
||||
@router.get("/{id_}", response_model=CashierReport)
|
||||
def show_id(
|
||||
id_: uuid.UUID,
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["cashier-report"]),
|
||||
) -> CashierReport:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
@ -132,14 +130,12 @@ def get_id(id_: uuid.UUID, start_date: date, finish_date: date, user: UserLink,
|
||||
@router.get("/print/{id_}", response_model=bool)
|
||||
def print_report(
|
||||
id_: uuid.UUID,
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
device_id: uuid.UUID = Cookie(None),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["cashier-report"]),
|
||||
) -> bool:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
@ -152,13 +148,11 @@ def print_report(
|
||||
|
||||
@router.get("", response_model=CashierReport)
|
||||
def show_blank(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["cashier-report"]),
|
||||
) -> CashierReport:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import uuid
|
||||
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import date, timedelta
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter, Cookie, Depends, HTTPException, Security, status
|
||||
@ -14,6 +14,7 @@ from ...models import Inventory, Kot, ProductVersion, SaleCategory, Voucher, Vou
|
||||
from ...printing.discount_report import print_discount_report
|
||||
from ...schemas.auth import UserToken
|
||||
from ...schemas.discount_report import DiscountReport, DiscountReportItem
|
||||
from . import report_finish_date, report_start_date
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@ -30,13 +31,11 @@ def get_db() -> Session:
|
||||
|
||||
@router.get("", response_model=DiscountReport)
|
||||
def discount_report(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["discount-report"]),
|
||||
) -> DiscountReport:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
@ -85,14 +84,12 @@ def get_discount_report(s: date, f: date, db: Session) -> List[DiscountReportIte
|
||||
|
||||
@router.get("/print", response_model=bool)
|
||||
def print_report(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
device_id: uuid.UUID = Cookie(None),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["discount-report"]),
|
||||
) -> bool:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import date, timedelta
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Security, status
|
||||
from sqlalchemy import func, or_
|
||||
@ -18,6 +18,7 @@ from ...models import (
|
||||
)
|
||||
from ...schemas import to_camel
|
||||
from ...schemas.auth import UserToken
|
||||
from . import report_finish_date, report_start_date
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@ -34,13 +35,11 @@ def get_db() -> Session:
|
||||
|
||||
@router.get("")
|
||||
def product_sale_report_view(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["product-sale-report"]),
|
||||
):
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import uuid
|
||||
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import date, timedelta
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter, Cookie, Depends, HTTPException, Security, status
|
||||
@ -23,6 +23,7 @@ from ...models import (
|
||||
from ...printing.sale_report import print_sale_report
|
||||
from ...schemas.auth import UserLink, UserToken
|
||||
from ...schemas.sale_report import SaleReport, SaleReportItem
|
||||
from . import report_finish_date, report_start_date
|
||||
from .tax_report import get_tax
|
||||
|
||||
|
||||
@ -40,13 +41,11 @@ def get_db() -> Session:
|
||||
|
||||
@router.get("", response_model=SaleReport)
|
||||
def get_sale_analysis(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["sale-report"]),
|
||||
) -> SaleReport:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
@ -126,14 +125,12 @@ def get_settlements(s: date, f: date, db: Session) -> List[SaleReportItem]:
|
||||
|
||||
@router.get("/print", response_model=bool)
|
||||
def print_report(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
device_id: uuid.UUID = Cookie(None),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["discount-report"]),
|
||||
) -> bool:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import date, timedelta
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Security, status
|
||||
@ -11,6 +11,7 @@ from ...db.session import SessionLocal
|
||||
from ...models import Inventory, Kot, Tax, Voucher, VoucherType
|
||||
from ...schemas.auth import UserToken
|
||||
from ...schemas.tax_report import TaxReport, TaxReportItem
|
||||
from . import report_finish_date, report_start_date
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@ -27,13 +28,11 @@ def get_db() -> Session:
|
||||
|
||||
@router.get("", response_model=TaxReport)
|
||||
def get_tax_report(
|
||||
s: str = None,
|
||||
f: str = None,
|
||||
start_date: date = Depends(report_start_date),
|
||||
finish_date: date = Depends(report_finish_date),
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Security(get_user, scopes=["tax-report"]),
|
||||
) -> TaxReport:
|
||||
start_date = date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
|
||||
finish_date = date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
|
||||
if (date.today() - start_date).days > 5 and "accounts-audit" not in user.permissions:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
|
||||
Reference in New Issue
Block a user