Пример #1
0
    def getOrderCoreFields(self, index, field_id):
        # ==================================================================== #
        # Filter on Field Id
        if field_id not in OrderCore.__core_fields_ids:
            return
        # ==================================================================== #
        # Read Field Data
        if field_id == "date_order":
            if isinstance(self.object.date_order, datetime):
                self._out[field_id] = self.object.date_order.strftime(
                    const.__SPL_T_DATECAST__)
            else:
                self._out[field_id] = ""
        if field_id == "partner_id":
            self._out[field_id] = M2OHelper.get_object(self.object,
                                                       "partner_id",
                                                       "ThirdParty")
        # TODO: Filter on Address type ?
        if field_id == "partner_invoice_id":
            self._out[field_id] = M2OHelper.get_object(self.object,
                                                       "partner_invoice_id",
                                                       "Address")
        # TODO: Filter on Address type ?
        if field_id == "partner_shipping_id":
            self._out[field_id] = M2OHelper.get_object(self.object,
                                                       "partner_shipping_id",
                                                       "Address")

        self._in.__delitem__(index)
Пример #2
0
 def setParentFields(self, field_id, field_data):
     # ==================================================================== #
     # Filter on Field Id
     if field_id != "parent_id":
         return
     # ==================================================================== #
     # Write Field Data
     M2OHelper.set_object(self.object,
                          "parent_id",
                          field_data,
                          domain="res.partner")
     self._in.__delitem__(field_id)
Пример #3
0
 def setInvCoreFields(self, field_id, field_data):
     # ==================================================================== #
     # Filter on Field Id
     if field_id not in InvoiceCore.__core_fields_ids:
         return
     # ==================================================================== #
     # Write Invoice Date
     if field_id in ['date_invoice']:
         return self.setSimple(field_id, field_data)
     # ==================================================================== #
     # Write Field Data
     M2OHelper.set_object(self.object,
                          field_id,
                          field_data,
                          domain="res.partner")
     self._in.__delitem__(field_id)
Пример #4
0
    def setOrderCoreFields(self, field_id, field_data):
        # ==================================================================== #
        # Filter on Field Id
        if field_id not in OrderCore.__core_fields_ids:
            return
        # ==================================================================== #
        # Write Order Date
        if field_id == "date_order":
            self.setSimple(field_id, field_data)
            return
        # ==================================================================== #
        # Write Field Data
        M2OHelper.set_object(self.object,
                             field_id,
                             field_data,
                             domain="res.partner")

        self._in.__delitem__(field_id)
Пример #5
0
 def getParentFields(self, index, field_id):
     # ==================================================================== #
     # Filter on Field Id
     if field_id != "parent_id":
         return
     # ==================================================================== #
     # Read Field Data
     self._out[field_id] = M2OHelper.get_object(self.object, "parent_id",
                                                "ThirdParty")
     self._in.__delitem__(index)
Пример #6
0
    def getInvCoreFields(self, index, field_id):
        # ==================================================================== #
        # Filter on Field Id
        if field_id not in InvoiceCore.__core_fields_ids:
            return
        # ==================================================================== #
        # Read Field Data
        if field_id in ['date_invoice']:
            return self.getSimpleDate(index, field_id)
        if field_id == "partner_id":
            self._out[field_id] = M2OHelper.get_object(self.object,
                                                       "partner_id",
                                                       "ThirdParty")
        if field_id == "partner_shipping_id":
            self._out[field_id] = M2OHelper.get_object(self.object,
                                                       "partner_shipping_id",
                                                       "Address")

        self._in.__delitem__(index)
Пример #7
0
 def getCountryFields(self, index, field_id):
     # ==================================================================== #
     # Filter on Field Id
     if not self.isCountryFields(field_id):
         return
     # ==================================================================== #
     # Read Field Data
     if field_id == "country_code":
         self._out[field_id] = M2OHelper.get_name(self.object,
                                                  "country_id",
                                                  index="code")
         self._in.__delitem__(index)
     if field_id == "country_name":
         self._out[field_id] = M2OHelper.get_name(self.object, "country_id")
         self._in.__delitem__(index)
     if field_id == "state_id":
         self._out[field_id] = M2OHelper.get_name(self.object,
                                                  "state_id",
                                                  index="code")
         self._in.__delitem__(index)
Пример #8
0
 def setCountryFields(self, field_id, field_data):
     # ==================================================================== #
     # Filter on Field Id
     if not self.isCountryFields(field_id):
         return
     # ==================================================================== #
     # WRITE Field Data
     if field_id == "country_code":
         M2OHelper.set_name(self.object,
                            "country_id",
                            field_data,
                            domain="res.country",
                            index="code")
         self._in.__delitem__(field_id)
     if field_id == "state_id":
         M2OHelper.set_name(self.object,
                            "state_id",
                            field_data,
                            domain="res.country.state",
                            index="code")
         self._in.__delitem__(field_id)
     if field_id == "country_name":
         M2OHelper.set_name(self.object,
                            "country_id",
                            field_data,
                            domain="res.country")
         self._in.__delitem__(field_id)
Пример #9
0
 def buildCountryFields(self):
     # ==================================================================== #
     FieldFactory.create(const.__SPL_T_COUNTRY__, "country_code",
                         "Country Code")
     FieldFactory.microData("http://schema.org/PostalAddress",
                            "addressCountry")
     # ==================================================================== #
     FieldFactory.create(const.__SPL_T_VARCHAR__, "country_name",
                         "Country Name")
     FieldFactory.microData("http://schema.org/PostalAddress",
                            "addressCountryName")
     FieldFactory.addChoices(M2OHelper.get_name_values("res.country"))
     # ==================================================================== #
     FieldFactory.create(const.__SPL_T_STATE__, "state_id", "State Code")
     FieldFactory.microData("http://schema.org/PostalAddress",
                            "addressRegion")
Пример #10
0
    def collectRequiredFields(self):
        """
        Collect All Required Fields from Inputs

        :return: False|hash
        """
        from splashpy import Framework
        # ====================================================================#
        # Safety Check - All required fields are there
        if self.is_ready_for_create() is not True:
            return Framework.log().error(self.is_ready_for_create())
        # ====================================================================#
        # Safety Check - Tracking Policy is Required
        if "picking_policy" not in self._in:
            self._in["picking_policy"] = "one"
        # ====================================================================#
        # Collect Basic Core Fields
        req_fields = self.collectRequiredCoreFields()
        self._in.__delitem__("picking_policy")
        if req_fields is False or req_fields.__len__() < 1:
            return False
        # ====================================================================#
        # Collect Order Core Fields
        for field_id in OrderCore.__core_fields_ids:
            # ====================================================================#
            # Setup Order Date
            if field_id == "date_order":
                req_fields[field_id] = self._in[field_id]
                continue
            # ====================================================================#
            # Setup Order Relations
            req_fields[field_id] = int(ObjectsHelper.id(self._in[field_id]))
            object_filters = PartnersHelper.thirdparty_filter(
            ) if field_id is "partner_id" else PartnersHelper.address_filter()
            if not M2OHelper.verify_id(req_fields[field_id], "res.partner",
                                       object_filters):
                return Framework.log().error(
                    "Unable to Identify Pointed Object: " +
                    str(self._in[field_id]))
        # ====================================================================#
        # Safety Check
        return req_fields
Пример #11
0
    def collectRequiredFields(self):
        """
        Collect All Required Fields from Inputs

        :return: False|hash
        """
        from splashpy import Framework
        # ====================================================================#
        # Safety Check - All required fields are there
        if self.is_ready_for_create() is not True:
            return Framework.log().error(self.is_ready_for_create())
        # ====================================================================#
        # Collect Basic Core Fields
        req_fields = self.collectRequiredCoreFields()
        if req_fields is False:
            return False
        # ====================================================================#
        # Collect Order Core Fields
        for field_id in InvoiceCore.__core_fields_ids:
            # ====================================================================#
            # Setup Order Date
            if field_id in ['date_invoice']:
                req_fields[field_id] = self._in[field_id]
                continue
            # ====================================================================#
            # Setup Order Relations
            req_fields[field_id] = int(ObjectsHelper.id(self._in[field_id]))
            object_filters = PartnersHelper.thirdparty_filter(
            ) if field_id is "partner_id" else PartnersHelper.address_filter()
            if not M2OHelper.verify_id(req_fields[field_id], "res.partner",
                                       object_filters):
                return Framework.log().error(
                    "Unable to Identify Pointed Object: " +
                    str(self._in[field_id]))
        # ====================================================================#
        # Safety Check
        return req_fields