コード例 #1
0
ファイル: product.py プロジェクト: hforge/shop
 def get_declination_namespace(self, declination_name):
     namespace = []
     shop = get_shop(self)
     declination = self.get_resource(declination_name)
     dynamic_schema = declination.get_dynamic_schema()
     enumerates_folder = shop.get_resource('enumerates')
     for name in self.get_purchase_options_names():
         value = declination.get_dynamic_property(name, dynamic_schema)
         if not value:
             continue
         enumerate_table = enumerates_folder.get_resource(name)
         datatype = EnumerateTable_to_Enumerate(enumerate_name=name)
         namespace.append({'title': enumerate_table.get_title(),
                           'value': datatype.get_value(value)})
     return namespace
コード例 #2
0
 def get_declination_namespace(self, declination_name):
     namespace = []
     shop = get_shop(self)
     declination = self.get_resource(declination_name)
     dynamic_schema = declination.get_dynamic_schema()
     enumerates_folder = shop.get_resource('enumerates')
     for name in self.get_purchase_options_names():
         value = declination.get_dynamic_property(name, dynamic_schema)
         if not value:
             continue
         enumerate_table = enumerates_folder.get_resource(name)
         datatype = EnumerateTable_to_Enumerate(enumerate_name=name)
         namespace.append({
             'title': enumerate_table.get_title(),
             'value': datatype.get_value(value)
         })
     return namespace
コード例 #3
0
ファイル: filter_box.py プロジェクト: nicolasderam/shop
 def get_items(self, context):
     options = []
     uri = deepcopy(context.uri)
     criterium = self.get_property("criterium")
     criterium_name = "DFT-%s" % criterium
     enum = EnumerateTable_to_Enumerate(enumerate_name=criterium)
     options = []
     for option in [{"name": None, "value": MSG(u"All")}] + enum.get_options():
         selected = context.query.get(criterium_name) == option["name"]
         option["criterium"] = criterium
         kw = {criterium_name: option["name"], "batch_start": 0}
         option["uri"] = uri.replace(**kw)
         option["query"] = None
         if option["name"]:
             option["query"] = PhraseQuery(criterium_name, option["name"])
         option["selected"] = selected
         option["title"] = option["value"]
         option["css"] = "selected" if selected else None
         options.append(option)
     return options
コード例 #4
0
ファイル: filter_box.py プロジェクト: nicolasderam/shop
 def get_items(self, context):
     options = []
     uri = deepcopy(context.uri)
     criterium = self.get_property('criterium')
     criterium_name = 'DFT-%s' % criterium
     enum = EnumerateTable_to_Enumerate(enumerate_name=criterium)
     options = []
     for option in [{
             'name': None,
             'value': MSG(u'All')
     }] + enum.get_options():
         selected = context.query.get(criterium_name) == option['name']
         option['criterium'] = criterium
         kw = {criterium_name: option['name'], 'batch_start': 0}
         option['uri'] = uri.replace(**kw)
         option['query'] = None
         if option['name']:
             option['query'] = PhraseQuery(criterium_name, option['name'])
         option['selected'] = selected
         option['title'] = option['value']
         option['css'] = 'selected' if selected else None
         options.append(option)
     return options
コード例 #5
0
ファイル: models.py プロジェクト: nicolasderam/shop
def get_real_datatype(schema_handler, record):
    # If name not in real_datatypes dict ...
    # It's an enumerate table from enumerates library
    # that we transform in Enumerate
    get_value = schema_handler.get_record_value
    datatype = get_value(record, 'datatype')
    # Get properties
    kw = {}
    for key in ['mandatory', 'multiple', 'multilingual']:
        kw[key] = get_value(record, key)
    # Get real datatype from real_datatypes dict
    if real_datatypes.has_key(datatype):
        return real_datatypes[datatype](**kw)
    # Is a registered datatype ?
    for name, title, cls_datatype in shop_datatypes:
        if name == datatype:
            return cls_datatype(**kw)
    # It's an TableEnumerate
    kw['enumerate_name'] = get_value(record, 'datatype')
    return EnumerateTable_to_Enumerate(**kw)
コード例 #6
0
ファイル: declination.py プロジェクト: nicolasderam/shop
 def get_dynamic_schema(self):
     schema = {}
     for name in self.parent.get_purchase_options_names():
         schema[name] = EnumerateTable_to_Enumerate(enumerate_name=name)
     return schema
コード例 #7
0
ファイル: declination.py プロジェクト: nicolasderam/shop
 def get_schema(self, resource, context):
     schema = {}
     for name in resource.get_purchase_options_names():
         schema[name] = EnumerateTable_to_Enumerate(enumerate_name=name)
     return merge_dicts(declination_schema, schema)