from summer.templates import RoleDetail, RoleList, UserDetail, UserList, ProductGroupList, ProductGroupDetail, TaxList, \ TaxDetail, ProductList, ProductDetail from summer.templates.SaleWindow import SaleWindow from summer.views.user import show_list as user_list, user_info, save_user, update_user from summer.views.role import show_list as role_list, role_info, save_role, update_role from summer.views.product_group import show_list as product_group_list, product_group_info, save_product_group, \ update_product_group from summer.views.tax import show_list as tax_list, tax_info, save_tax, update_tax from summer.views.product import show_list as product_list, product_info, save_product, update_product __author__ = 'tanshu' class Router(): def __init__(self): self.user_list_form = None self.user_detail_form = None self.role_list_form = None self.role_detail_form = None self.product_group_list_form = None self.product_group_detail_form = None self.tax_list_form = None self.tax_detail_form = None self.product_list_form = None self.product_detail_form = None self.sales_form = None def show_users(self): users = user_list() if self.user_list_form is None: self.user_list_form = UserList(self, users) self.user_list_form.destroyed.connect(self.user_list_form_destroyed) self.user_list_form.show() def user_list_form_destroyed(self): self.user_list_form = None def show_user(self, id=None): user = user_info(id) if self.user_detail_form is None: self.user_detail_form = UserDetail(self, user) self.user_detail_form.destroyed.connect(self.user_detail_form_destroyed) self.user_detail_form.show() def user_detail_form_destroyed(self): self.user_detail_form = None if self.user_list_form is not None: self.user_list_form.update_data(user_list()) def save_user(self, user): if 'UserID' not in user: save_user(user) else: update_user(user) def show_roles(self): roles = role_list() if self.role_list_form is None: self.role_list_form = RoleList(self, roles) self.role_list_form.destroyed.connect(self.role_list_form_destroyed) self.role_list_form.show() def role_list_form_destroyed(self): self.role_list_form = None def show_role(self, id=None): role = role_info(id) if self.role_detail_form is None: self.role_detail_form = RoleDetail(self, role) self.role_detail_form.destroyed.connect(self.role_detail_form_destroyed) self.role_detail_form.show() def role_detail_form_destroyed(self): self.role_detail_form = None if self.role_list_form is not None: self.role_list_form.update_data(role_list()) def save_role(self, role): if 'RoleID' not in role: save_role(role) else: update_role(role) def show_product_groups(self): product_groups = product_group_list() if self.product_group_list_form is None: self.product_group_list_form = ProductGroupList(self, product_groups) self.product_group_list_form.destroyed.connect(self.product_group_list_form_destroyed) self.product_group_list_form.show() def product_group_list_form_destroyed(self): self.product_group_list_form = None def show_product_group(self, id=None): product_group = product_group_info(id) if self.product_group_detail_form is None: self.product_group_detail_form = ProductGroupDetail(self, product_group) self.product_group_detail_form.destroyed.connect(self.product_group_detail_form_destroyed) self.product_group_detail_form.show() def product_group_detail_form_destroyed(self): self.product_group_detail_form = None if self.product_group_list_form is not None: self.product_group_list_form.update_data(product_group_list()) def save_product_group(self, product_group): if 'ProductGroupID' not in product_group: save_product_group(product_group) else: update_product_group(product_group) def show_taxes(self): taxes = tax_list() if self.tax_list_form is None: self.tax_list_form = TaxList(self, taxes) self.tax_list_form.destroyed.connect(self.tax_list_form_destroyed) self.tax_list_form.show() def tax_list_form_destroyed(self): self.tax_list_form = None def show_tax(self, id=None): tax = tax_info(id) if self.tax_detail_form is None: self.tax_detail_form = TaxDetail(self, tax) self.tax_detail_form.destroyed.connect(self.tax_detail_form_destroyed) self.tax_detail_form.show() def tax_detail_form_destroyed(self): self.tax_detail_form = None if self.tax_list_form is not None: self.tax_list_form.update_data(tax_list()) def save_tax(self, tax): if 'TaxID' not in tax: save_tax(tax) else: update_tax(tax) def show_products(self): products = product_list() if self.product_list_form is None: self.product_list_form = ProductList(self, products) self.product_list_form.destroyed.connect(self.product_list_form_destroyed) self.product_list_form.show() def product_list_form_destroyed(self): self.product_list_form = None def show_product(self, id=None): pass product = product_info(id) product_group = product_group_list() taxes = tax_list() if self.product_detail_form is None: self.product_detail_form = ProductDetail(self, product, product_group, taxes) self.product_detail_form.destroyed.connect(self.product_detail_form_destroyed) self.product_detail_form.show() def product_detail_form_destroyed(self): self.product_detail_form = None if self.product_list_form is not None: self.product_list_form.update_data(product_list()) def save_product(self, product): if 'ProductID' not in product: save_product(product) else: update_product(product) def show_sales(self): if self.sales_form is None: self.sales_form = SaleWindow(self) self.sales_form.destroyed.connect(self.sales_form_destroyed) self.sales_form.show() def sales_form_destroyed(self): self.sales_form = None