Chore: Changed the Section Printer from Menu Categories to Sale Categories. This is more logical, in the older software, there as no concept of sale categories so menu categories was used.
This should make the whole thing much easier to update and read.
This commit is contained in:
parent
4a12ee0834
commit
63dfe05044
|
@ -0,0 +1,73 @@
|
||||||
|
"""section printer
|
||||||
|
|
||||||
|
Revision ID: 81d94c5223a7
|
||||||
|
Revises: c123dbf9c659
|
||||||
|
Create Date: 2021-08-17 12:10:01.082632
|
||||||
|
|
||||||
|
"""
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
from sqlalchemy import column, table
|
||||||
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = "81d94c5223a7"
|
||||||
|
down_revision = "c123dbf9c659"
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
sp = table(
|
||||||
|
"section_printers",
|
||||||
|
column("id", postgresql.UUID(as_uuid=True)),
|
||||||
|
)
|
||||||
|
op.execute(sp.delete())
|
||||||
|
|
||||||
|
op.add_column("section_printers", sa.Column("sale_category_id", postgresql.UUID(as_uuid=True), nullable=True))
|
||||||
|
op.drop_constraint("uq_section_printers_menu_category_id", "section_printers", type_="unique")
|
||||||
|
op.create_unique_constraint(
|
||||||
|
op.f("uq_section_printers_sale_category_id"), "section_printers", ["sale_category_id", "section_id"]
|
||||||
|
)
|
||||||
|
op.drop_constraint("fk_section_printers_menu_category_id_menu_categories", "section_printers", type_="foreignkey")
|
||||||
|
op.create_foreign_key(
|
||||||
|
op.f("fk_section_printers_sale_category_id_sale_categories"),
|
||||||
|
"section_printers",
|
||||||
|
"sale_categories",
|
||||||
|
["sale_category_id"],
|
||||||
|
["id"],
|
||||||
|
)
|
||||||
|
op.drop_column("section_printers", "menu_category_id")
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
sp = table(
|
||||||
|
"section_printers",
|
||||||
|
column("id", postgresql.UUID(as_uuid=True)),
|
||||||
|
)
|
||||||
|
op.execute(sp.delete())
|
||||||
|
|
||||||
|
op.add_column(
|
||||||
|
"section_printers", sa.Column("menu_category_id", postgresql.UUID(), autoincrement=False, nullable=True)
|
||||||
|
)
|
||||||
|
op.drop_constraint(
|
||||||
|
op.f("fk_section_printers_sale_category_id_sale_categories"), "section_printers", type_="foreignkey"
|
||||||
|
)
|
||||||
|
op.create_foreign_key(
|
||||||
|
"fk_section_printers_menu_category_id_menu_categories",
|
||||||
|
"section_printers",
|
||||||
|
"menu_categories",
|
||||||
|
["menu_category_id"],
|
||||||
|
["id"],
|
||||||
|
)
|
||||||
|
op.drop_constraint(op.f("uq_section_printers_sale_category_id"), "section_printers", type_="unique")
|
||||||
|
op.create_unique_constraint(
|
||||||
|
"uq_section_printers_menu_category_id", "section_printers", ["menu_category_id", "section_id"]
|
||||||
|
)
|
||||||
|
op.drop_column("section_printers", "sale_category_id")
|
||||||
|
# ### end Alembic commands ###
|
|
@ -8,30 +8,30 @@ from sqlalchemy.orm import relationship
|
||||||
|
|
||||||
class SectionPrinter(Base):
|
class SectionPrinter(Base):
|
||||||
__tablename__ = "section_printers"
|
__tablename__ = "section_printers"
|
||||||
__table_args__ = (UniqueConstraint("menu_category_id", "section_id"),)
|
__table_args__ = (UniqueConstraint("sale_category_id", "section_id"),)
|
||||||
|
|
||||||
id = Column(
|
id = Column(
|
||||||
"id", UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()"), default=uuid.uuid4
|
"id", UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()"), default=uuid.uuid4
|
||||||
)
|
)
|
||||||
menu_category_id = Column("menu_category_id", UUID(as_uuid=True), ForeignKey("menu_categories.id"))
|
sale_category_id = Column("sale_category_id", UUID(as_uuid=True), ForeignKey("sale_categories.id"))
|
||||||
section_id = Column("section_id", UUID(as_uuid=True), ForeignKey("sections.id"), nullable=False)
|
section_id = Column("section_id", UUID(as_uuid=True), ForeignKey("sections.id"), nullable=False)
|
||||||
printer_id = Column("printer_id", UUID(as_uuid=True), ForeignKey("printers.id"), nullable=False)
|
printer_id = Column("printer_id", UUID(as_uuid=True), ForeignKey("printers.id"), nullable=False)
|
||||||
copies = Column("copies", Integer, nullable=False)
|
copies = Column("copies", Integer, nullable=False)
|
||||||
|
|
||||||
menu_category = relationship("MenuCategory", backref="section_printers")
|
sale_category = relationship("SaleCategory", backref="section_printers")
|
||||||
section = relationship("Section", backref="section_printers")
|
section = relationship("Section", backref="section_printers")
|
||||||
printer = relationship("Printer", backref="section_printers")
|
printer = relationship("Printer", backref="section_printers")
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
menu_category_id=None,
|
sale_category_id=None,
|
||||||
section_id=None,
|
section_id=None,
|
||||||
printer_id=None,
|
printer_id=None,
|
||||||
copies=None,
|
copies=None,
|
||||||
id_=None,
|
id_=None,
|
||||||
):
|
):
|
||||||
self.id = id_
|
self.id = id_
|
||||||
self.menu_category_id = menu_category_id
|
self.sale_category_id = sale_category_id
|
||||||
self.section_id = section_id
|
self.section_id = section_id
|
||||||
self.printer_id = printer_id
|
self.printer_id = printer_id
|
||||||
self.copies = copies
|
self.copies = copies
|
||||||
|
|
|
@ -31,7 +31,7 @@ def print_bill(voucher_id: uuid.UUID, db: Session):
|
||||||
select(Printer)
|
select(Printer)
|
||||||
.join(SectionPrinter.printer)
|
.join(SectionPrinter.printer)
|
||||||
.where(SectionPrinter.section_id == voucher.food_table.section_id)
|
.where(SectionPrinter.section_id == voucher.food_table.section_id)
|
||||||
.where(SectionPrinter.menu_category_id == None) # noqa: E711
|
.where(SectionPrinter.sale_category_id == None) # noqa: E711
|
||||||
).scalar_one()
|
).scalar_one()
|
||||||
|
|
||||||
items_dict = {}
|
items_dict = {}
|
||||||
|
|
|
@ -25,7 +25,7 @@ def print_cashier_report(report: CashierReport, device_id: uuid.UUID, db: Sessio
|
||||||
select(Printer)
|
select(Printer)
|
||||||
.join(SectionPrinter.printer)
|
.join(SectionPrinter.printer)
|
||||||
.where(SectionPrinter.section_id == section_id)
|
.where(SectionPrinter.section_id == section_id)
|
||||||
.where(SectionPrinter.menu_category_id == None) # noqa: E711
|
.where(SectionPrinter.sale_category_id == None) # noqa: E711
|
||||||
).scalar_one()
|
).scalar_one()
|
||||||
|
|
||||||
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
||||||
|
|
|
@ -22,7 +22,7 @@ def print_discount_report(report: DiscountReport, device_id: uuid.UUID, db: Sess
|
||||||
select(Printer)
|
select(Printer)
|
||||||
.join(SectionPrinter.printer)
|
.join(SectionPrinter.printer)
|
||||||
.where(SectionPrinter.section_id == section_id)
|
.where(SectionPrinter.section_id == section_id)
|
||||||
.where(SectionPrinter.menu_category_id == None) # noqa: E711
|
.where(SectionPrinter.sale_category_id == None) # noqa: E711
|
||||||
).scalar_one()
|
).scalar_one()
|
||||||
|
|
||||||
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
||||||
|
|
|
@ -94,11 +94,11 @@ def print_kot(voucher_id: uuid.UUID, db: Session):
|
||||||
.where(SectionPrinter.section_id == voucher.food_table.section_id)
|
.where(SectionPrinter.section_id == voucher.food_table.section_id)
|
||||||
.where(
|
.where(
|
||||||
or_(
|
or_(
|
||||||
SectionPrinter.menu_category_id == product.menu_category_id,
|
SectionPrinter.sale_category_id == product.sale_category_id,
|
||||||
SectionPrinter.menu_category_id == None, # noqa: E711
|
SectionPrinter.sale_category_id == None, # noqa: E711
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.order_by(SectionPrinter.menu_category_id)
|
.order_by(SectionPrinter.sale_category_id)
|
||||||
).first()
|
).first()
|
||||||
key = (printer.id, copies)
|
key = (printer.id, copies)
|
||||||
if key not in my_hash:
|
if key not in my_hash:
|
||||||
|
|
|
@ -23,7 +23,7 @@ def print_product_sale_report(report, device_id: uuid.UUID, db: Session):
|
||||||
select(Printer)
|
select(Printer)
|
||||||
.join(SectionPrinter.printer)
|
.join(SectionPrinter.printer)
|
||||||
.where(SectionPrinter.section_id == section_id)
|
.where(SectionPrinter.section_id == section_id)
|
||||||
.where(SectionPrinter.menu_category_id == None) # noqa: E711
|
.where(SectionPrinter.sale_category_id == None) # noqa: E711
|
||||||
).scalar_one()
|
).scalar_one()
|
||||||
|
|
||||||
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
||||||
|
@ -42,10 +42,10 @@ def design_product_sale_report(report):
|
||||||
s += "\n\r" + "-" * 42
|
s += "\n\r" + "-" * 42
|
||||||
s += "\n\rUnbilled Sale NC Staff Void"
|
s += "\n\rUnbilled Sale NC Staff Void"
|
||||||
for item in report["amounts"]:
|
for item in report["amounts"]:
|
||||||
s += f"\n\r{item['name']: ^42.42}" f"\n\r" + (f"{item['kot']: >7.2f} " if "kot" in item else " ") + (
|
s += f"\n\r{item['name']: ^42.42}" f"\n\r" + (f"{item['kot']: >7.2f} " if "kot" in item else " ") + (
|
||||||
f"{item['regularBill']: >7.2f} " if "regularBill" in item else " "
|
f"{item['regularBill']: >7.2f} " if "regularBill" in item else " "
|
||||||
) + (f"{item['noCharge']: >7.2f} " if "noCharge" in item else " ") + (
|
) + (f"{item['noCharge']: >7.2f} " if "noCharge" in item else " ") + (
|
||||||
f"{item['staff']: >7.2f} " if "staff" in item else " "
|
f"{item['staff']: >7.2f} " if "staff" in item else " "
|
||||||
) + (
|
) + (
|
||||||
f"{item['void']: >7.2f}" if "void" in item else " "
|
f"{item['void']: >7.2f}" if "void" in item else " "
|
||||||
)
|
)
|
||||||
|
|
|
@ -25,7 +25,7 @@ def print_sale_report(report: SaleReport, device_id: uuid.UUID, db: Session):
|
||||||
select(Printer)
|
select(Printer)
|
||||||
.join(SectionPrinter.printer)
|
.join(SectionPrinter.printer)
|
||||||
.where(SectionPrinter.section_id == section_id)
|
.where(SectionPrinter.section_id == section_id)
|
||||||
.where(SectionPrinter.menu_category_id == None) # noqa: E711
|
.where(SectionPrinter.sale_category_id == None) # noqa: E711
|
||||||
).scalar_one()
|
).scalar_one()
|
||||||
|
|
||||||
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
redis: ArqRedis = asyncio.run(create_pool(redis_settings))
|
||||||
|
|
|
@ -12,7 +12,7 @@ from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from ..core.security import get_current_active_user as get_user
|
from ..core.security import get_current_active_user as get_user
|
||||||
from ..db.session import SessionFuture
|
from ..db.session import SessionFuture
|
||||||
from ..models.menu_category import MenuCategory
|
from ..models.sale_category import SaleCategory
|
||||||
from ..models.section_printer import SectionPrinter
|
from ..models.section_printer import SectionPrinter
|
||||||
from ..schemas.user_token import UserToken
|
from ..schemas.user_token import UserToken
|
||||||
|
|
||||||
|
@ -30,39 +30,39 @@ def save(
|
||||||
with SessionFuture() as db:
|
with SessionFuture() as db:
|
||||||
current = []
|
current = []
|
||||||
default_id = uuid.uuid4()
|
default_id = uuid.uuid4()
|
||||||
for mcs in data:
|
for scs in data:
|
||||||
if mcs.menu_category is None and mcs.printer is None:
|
if scs.sale_category is None and scs.printer is None:
|
||||||
raise ValueError("Please choose a default printer")
|
raise ValueError("Please choose a default printer")
|
||||||
if mcs.printer is None:
|
if scs.printer is None:
|
||||||
continue
|
continue
|
||||||
stmt = (
|
stmt = (
|
||||||
pg_insert(SectionPrinter)
|
pg_insert(SectionPrinter)
|
||||||
.values(
|
.values(
|
||||||
id=default_id if mcs.menu_category is None else uuid.uuid4(),
|
id=default_id if scs.sale_category is None else uuid.uuid4(),
|
||||||
menu_category_id=mcs.menu_category.id_ if mcs.menu_category is not None else None,
|
sale_category_id=scs.sale_category.id_ if scs.sale_category is not None else None,
|
||||||
section_id=id_,
|
section_id=id_,
|
||||||
printer_id=mcs.printer.id_,
|
printer_id=scs.printer.id_,
|
||||||
copies=mcs.copies,
|
copies=scs.copies,
|
||||||
)
|
)
|
||||||
.on_conflict_do_update(
|
.on_conflict_do_update(
|
||||||
index_elements=["menu_category_id", "section_id"],
|
index_elements=["sale_category_id", "section_id"],
|
||||||
set_=dict(printer_id=mcs.printer.id_, copies=mcs.copies),
|
set_=dict(printer_id=scs.printer.id_, copies=scs.copies),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
db.execute(stmt)
|
db.execute(stmt)
|
||||||
current.append(None if mcs.menu_category is None else mcs.menu_category.id_)
|
current.append(None if scs.sale_category is None else scs.sale_category.id_)
|
||||||
db.execute(
|
db.execute(
|
||||||
delete(SectionPrinter).where(
|
delete(SectionPrinter).where(
|
||||||
or_(
|
or_(
|
||||||
and_(
|
and_(
|
||||||
SectionPrinter.section_id == id_,
|
SectionPrinter.section_id == id_,
|
||||||
SectionPrinter.menu_category_id == None, # noqa: E711
|
SectionPrinter.sale_category_id == None, # noqa: E711
|
||||||
SectionPrinter.id != default_id,
|
SectionPrinter.id != default_id,
|
||||||
),
|
),
|
||||||
and_(
|
and_(
|
||||||
SectionPrinter.section_id == id_,
|
SectionPrinter.section_id == id_,
|
||||||
SectionPrinter.menu_category_id != None, # noqa: E711
|
SectionPrinter.sale_category_id != None, # noqa: E711
|
||||||
~SectionPrinter.menu_category_id.in_([x for x in current if x is not None]),
|
~SectionPrinter.sale_category_id.in_([x for x in current if x is not None]),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -112,18 +112,14 @@ def show_id(
|
||||||
|
|
||||||
|
|
||||||
def report(section_id: Optional[uuid.UUID], db: Session) -> List[schemas.SectionPrinter]:
|
def report(section_id: Optional[uuid.UUID], db: Session) -> List[schemas.SectionPrinter]:
|
||||||
menu_categories = db.execute(
|
sale_categories = db.execute(select(SaleCategory.id, SaleCategory.name).order_by(SaleCategory.name)).all()
|
||||||
select(MenuCategory.id, MenuCategory.name)
|
|
||||||
.where(MenuCategory.is_active == True) # noqa: E712
|
|
||||||
.order_by(MenuCategory.sort_order)
|
|
||||||
).all()
|
|
||||||
list_ = []
|
list_ = []
|
||||||
for mc_id, mc_name in [(None, None)] + menu_categories:
|
for sc_id, sc_name in [(None, None)] + sale_categories:
|
||||||
section_printer = (
|
section_printer = (
|
||||||
db.execute(
|
db.execute(
|
||||||
select(SectionPrinter).where(
|
select(SectionPrinter).where(
|
||||||
SectionPrinter.section_id == section_id,
|
SectionPrinter.section_id == section_id,
|
||||||
SectionPrinter.menu_category_id == mc_id,
|
SectionPrinter.sale_category_id == sc_id,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.scalars()
|
.scalars()
|
||||||
|
@ -131,7 +127,7 @@ def report(section_id: Optional[uuid.UUID], db: Session) -> List[schemas.Section
|
||||||
)
|
)
|
||||||
list_.append(
|
list_.append(
|
||||||
schemas.SectionPrinter(
|
schemas.SectionPrinter(
|
||||||
menuCategory=None if mc_id is None else schemas.MenuCategoryLink(id=mc_id, name=mc_name, products=[]),
|
saleCategory=None if sc_id is None else schemas.SaleCategoryLink(id=sc_id, name=sc_name),
|
||||||
printer=None if section_printer is None else schemas.PrinterLink(id=section_printer.printer_id),
|
printer=None if section_printer is None else schemas.PrinterLink(id=section_printer.printer_id),
|
||||||
copies=0 if section_printer is None else section_printer.copies,
|
copies=0 if section_printer is None else section_printer.copies,
|
||||||
)
|
)
|
||||||
|
|
|
@ -3,12 +3,12 @@ from typing import Optional
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
from . import to_camel
|
from . import to_camel
|
||||||
from .menu_category import MenuCategoryLink
|
|
||||||
from .printer import PrinterLink
|
from .printer import PrinterLink
|
||||||
|
from .sale_category import SaleCategoryLink
|
||||||
|
|
||||||
|
|
||||||
class SectionPrinter(BaseModel):
|
class SectionPrinter(BaseModel):
|
||||||
menu_category: Optional[MenuCategoryLink]
|
sale_category: Optional[SaleCategoryLink]
|
||||||
printer: Optional[PrinterLink]
|
printer: Optional[PrinterLink]
|
||||||
copies: int = Field(ge=0)
|
copies: int = Field(ge=0)
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import { MenuCategory } from './menu-category';
|
|
||||||
import { Printer } from './printer';
|
import { Printer } from './printer';
|
||||||
|
import { SaleCategory } from './sale-category';
|
||||||
|
|
||||||
export class SectionPrinter {
|
export class SectionPrinter {
|
||||||
menuCategory: MenuCategory | null;
|
saleCategory: SaleCategory | null;
|
||||||
printer: Printer | null;
|
printer: Printer | null;
|
||||||
copies: number;
|
copies: number;
|
||||||
|
|
||||||
public constructor(init?: Partial<SectionPrinter>) {
|
public constructor(init?: Partial<SectionPrinter>) {
|
||||||
this.menuCategory = null;
|
this.saleCategory = null;
|
||||||
this.printer = null;
|
this.printer = null;
|
||||||
this.copies = 0;
|
this.copies = 0;
|
||||||
Object.assign(this, init);
|
Object.assign(this, init);
|
||||||
|
|
|
@ -26,11 +26,11 @@
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<mat-divider></mat-divider>
|
<mat-divider></mat-divider>
|
||||||
<mat-table #table [dataSource]="dataSource" formArrayName="menuCategories">
|
<mat-table #table [dataSource]="dataSource" formArrayName="saleCategories">
|
||||||
<!-- Menu Category Column -->
|
<!-- Sale Category Column -->
|
||||||
<ng-container matColumnDef="menuCategory">
|
<ng-container matColumnDef="saleCategory">
|
||||||
<mat-header-cell *matHeaderCellDef>Menu Category</mat-header-cell>
|
<mat-header-cell *matHeaderCellDef>Sale Category</mat-header-cell>
|
||||||
<mat-cell *matCellDef="let row">{{ row.menuCategory?.name || 'Default' }}</mat-cell>
|
<mat-cell *matCellDef="let row">{{ row.saleCategory?.name || 'Default' }}</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<!-- Printer Column -->
|
<!-- Printer Column -->
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
<ng-container matColumnDef="copies">
|
<ng-container matColumnDef="copies">
|
||||||
<mat-header-cell *matHeaderCellDef>Copies</mat-header-cell>
|
<mat-header-cell *matHeaderCellDef>Copies</mat-header-cell>
|
||||||
<mat-cell *matCellDef="let row; let i = index" [formGroupName]="i" fxFlex>
|
<mat-cell *matCellDef="let row; let i = index" [formGroupName]="i" fxFlex>
|
||||||
<mat-form-field *ngIf="!!$any(form.get('menuCategories')).at(i).value.printer">
|
<mat-form-field *ngIf="!!$any(form.get('saleCategories')).at(i).value.printer">
|
||||||
<mat-label>Copies</mat-label>
|
<mat-label>Copies</mat-label>
|
||||||
<input matInput type="number" placeholder="Copies" formControlName="copies" />
|
<input matInput type="number" placeholder="Copies" formControlName="copies" />
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
|
@ -29,7 +29,7 @@ export class SectionPrinterComponent implements OnInit {
|
||||||
sections: Section[] = [];
|
sections: Section[] = [];
|
||||||
printers: Printer[] = [];
|
printers: Printer[] = [];
|
||||||
sectionId = '';
|
sectionId = '';
|
||||||
displayedColumns = ['menuCategory', 'printer', 'copies'];
|
displayedColumns = ['saleCategory', 'printer', 'copies'];
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
|
@ -42,7 +42,7 @@ export class SectionPrinterComponent implements OnInit {
|
||||||
// Create form
|
// Create form
|
||||||
this.form = this.fb.group({
|
this.form = this.fb.group({
|
||||||
section: '',
|
section: '',
|
||||||
menuCategories: this.fb.array([]),
|
saleCategories: this.fb.array([]),
|
||||||
});
|
});
|
||||||
route.params.pipe(map((p) => p.id)).subscribe((x) => {
|
route.params.pipe(map((p) => p.id)).subscribe((x) => {
|
||||||
this.sectionId = x;
|
this.sectionId = x;
|
||||||
|
@ -64,11 +64,11 @@ export class SectionPrinterComponent implements OnInit {
|
||||||
this.list = list;
|
this.list = list;
|
||||||
(this.form.get('section') as AbstractControl).setValue(this.sectionId);
|
(this.form.get('section') as AbstractControl).setValue(this.sectionId);
|
||||||
this.form.setControl(
|
this.form.setControl(
|
||||||
'menuCategories',
|
'saleCategories',
|
||||||
this.fb.array(
|
this.fb.array(
|
||||||
this.list.map((x) =>
|
this.list.map((x) =>
|
||||||
this.fb.group({
|
this.fb.group({
|
||||||
menuCategory: x.menuCategory?.name || 'Default',
|
saleCategory: x.saleCategory?.name || 'Default',
|
||||||
printer: x.printer?.id,
|
printer: x.printer?.id,
|
||||||
copies: `${x.copies}`,
|
copies: `${x.copies}`,
|
||||||
}),
|
}),
|
||||||
|
@ -119,7 +119,7 @@ export class SectionPrinterComponent implements OnInit {
|
||||||
getItem(): SectionPrinter[] {
|
getItem(): SectionPrinter[] {
|
||||||
const formModel = this.form.value;
|
const formModel = this.form.value;
|
||||||
this.sectionId = formModel.section;
|
this.sectionId = formModel.section;
|
||||||
const array = this.form.get('menuCategories') as FormArray;
|
const array = this.form.get('saleCategories') as FormArray;
|
||||||
this.list.forEach((item, index) => {
|
this.list.forEach((item, index) => {
|
||||||
const cont = array.controls[index].value;
|
const cont = array.controls[index].value;
|
||||||
if (cont.printer === null || cont.printer === undefined) {
|
if (cont.printer === null || cont.printer === undefined) {
|
||||||
|
|
|
@ -27,14 +27,6 @@ export class SectionPrinterService {
|
||||||
>;
|
>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// item(id: string, menuCategoryId: string): Observable<SectionPrinterItem> {
|
|
||||||
// const options = {params: new HttpParams().set('m', menuCategoryId)};
|
|
||||||
// return this.http.get<SectionPrinterItem>(`${url}/${id}`, options)
|
|
||||||
// .pipe(
|
|
||||||
// catchError(this.log.handleError(serviceName, 'list'))
|
|
||||||
// ) as Observable<SectionPrinterItem>;
|
|
||||||
// }
|
|
||||||
|
|
||||||
save(sectionId: string, list: SectionPrinter[]): Observable<SectionPrinter[]> {
|
save(sectionId: string, list: SectionPrinter[]): Observable<SectionPrinter[]> {
|
||||||
return this.http
|
return this.http
|
||||||
.post<SectionPrinter[]>(`${url}/${sectionId}`, list, httpOptions)
|
.post<SectionPrinter[]>(`${url}/${sectionId}`, list, httpOptions)
|
||||||
|
|
Loading…
Reference in New Issue