def _get_company_customers(context): """ Return company customers :param obj context: The current Pyramid context :returns: A list of Customer instances :rtype: list """ company_id = context.get_company_id() customers = Customer.label_query() customers = customers.filter_by(company_id=company_id).all() if hasattr(context, "project_id"): # Si le contexte est attaché à un projet, on s'assure que les clients du # projet sont présentés en haut de la liste des clients en utilisant une # fonction de tri custom project_id = context.project_id def sort_pid_first(a, b): """ Sort customers moving the customers belonging to the current project up in the list """ if project_id in a.get_project_ids(): return -1 elif project_id in b.get_project_ids(): return 1 else: return 0 customers = sorted(customers, cmp=sort_pid_first) return customers
def _get_company_customers(context): """ Return company customers :param obj context: The current Pyramid context :returns: A list of Customer instances :rtype: list """ company_id = context.get_company_id() customers = Customer.label_query() customers = customers.filter_by(company_id=company_id).all() if hasattr(context, "project_id"): # Si le contexte est attaché à un projet, on s'assure que les clients du # projet sont présentés en haut de la liste des clients en utilisant une # fonction de tri custom project_id = context.project_id def sort_pid_first(a, b): """ Sort customers moving the customers belonging to the current project up in the list """ if project_id in a.get_project_ids(): return -1 elif project_id in b.get_project_ids(): return 1 else: return 0 customers = sorted(customers, cmp=sort_pid_first) return customers
def _get_customers_from_request(request): """ Get customers options for new task and task duplicate form Find customers regarding the current context Project -> Project.customers ... :returns: A list of customers :rtype: list """ customers = [] context = request.context if isinstance(context, Project): customers = context.customers elif isinstance(context, Task): customers = [context.customer] elif isinstance(context, Customer): customers = [context] elif hasattr(context, 'project') and context.project is not None: customers = context.project.customers else: company_id = request.current_company customers = Customer.label_query() customers.filter_by(company_id=company_id).all() return customers
def get_company_customers(kw): """ Retrieve all customers attached to a context's company """ from autonomie.models.customer import Customer request = kw['request'] company_id = request.context.get_company_id() customers = Customer.label_query() customers = customers.filter_by(company_id=company_id).all() return customers
def deferred_fullcustomer_list_widget(node, kw): from autonomie.models.project import build_customer_values from autonomie.models.customer import Customer values = [('', u"Tous les clients")] for comp in Company.query().options(load_only("id", "name")): customers = Customer.label_query().filter_by(company_id=comp.id) values.append( deform.widget.OptGroup( comp.name, *build_customer_values(customers, default=False))) return deform.widget.Select2Widget(values=values, placeholder=u"Sélectionner un client")
def _get_project_customers(project): """ Return project customers :param obj project: The current project :returns: A list of Customer instances :rtype: list """ query = Customer.label_query() customers = query.filter(Customer.projects.any(Project.id == project.id)) return customers
def _get_project_customers(project): """ Return project customers :param obj project: The current project :returns: A list of Customer instances :rtype: list """ query = Customer.label_query() customers = query.filter(Customer.projects.any(Project.id == project.id)) return customers
def deferred_customer_widget(node, kw): if is_admin: # All customers, grouped by Company for comp in Company.query().options(load_only("id", "name")): customers = Customer.label_query().filter_by( company_id=comp.id, ) values.append( deform.widget.OptGroup(comp.name, *build_customer_values(customers))) else: # Company customers only company = kw['request'].context for cust in company.customers: values.append((cust.id, u"%s (%s)" % (cust.name, cust.code))) return deform.widget.Select2Widget(values=values, **(widget_options or {}))
def get_customers_from_request(request): """ Extract a customers list from the request object :param obj request: The pyramid request object :returns: A list of customers :rtype: list """ if isinstance(request.context, Project): company_id = request.context.company.id elif isinstance(request.context, Company): company_id = request.context.id else: return [] customers = Customer.label_query() customers = customers.filter_by(company_id=company_id) customers = customers.filter_by(archived=False) return customers.order_by(Customer.label).all()
def get_customers_from_request(request): """ Extract a customers list from the request object :param obj request: The pyramid request object :returns: A list of customers :rtype: list """ if isinstance(request.context, Project): company_id = request.context.company.id elif isinstance(request.context, Company): company_id = request.context.id else: return [] customers = Customer.label_query() customers = customers.filter_by(company_id=company_id) customers = customers.filter_by(archived=False) return customers.order_by(Customer.label).all()