Ejemplo n.º 1
0
    def _set_default_value(self, store, param_name):
        """Sets the default initial value for a param in the database

        If the param is not present in the ParameterData table, it will be
        created with the default initial value.
        """
        if self._values.get(param_name, None) is not None:
            return

        detail = self.get_detail_by_name(param_name)
        value = detail.initial
        if value is None:
            return

        if detail.type is bool:
            value = int(value)
        if value is not None:
            value = unicode(value)

        data = ParameterData(store=store,
                             field_name=param_name,
                             field_value=value,
                             is_editable=detail.is_editable)
        self._values[param_name] = data.field_value
        return data.field_value
Ejemplo n.º 2
0
 def _get_model(self, store, detail):
     model = store.find(ParameterData, field_name=detail.key).one()
     if not model:
         value = sysparam.get(detail.key)
         if detail.type is bool:
             value = int(value)
         if value is not None:
             value = unicode(value)
         model = ParameterData(store=store,
                               field_name=detail.key,
                               field_value=value)
     return model
Ejemplo n.º 3
0
    def _set_schema(self, field_name, field_value, is_editable=True):
        if field_value is not None:
            field_value = unicode(field_value)

        data = self.store.find(ParameterData,
                               field_name=field_name).one()
        if data is None:
            store = new_store()
            ParameterData(store=store,
                          field_name=field_name,
                          field_value=field_value,
                          is_editable=is_editable)
            store.commit(close=True)
        else:
            data.field_value = field_value
Ejemplo n.º 4
0
    def _set_default_value(self, store, detail, value):
        if value is None:
            return

        if detail.type is bool:
            value = int(value)
        if value is not None:
            value = unicode(value)

        param_name = detail.key
        data = self._values.get(param_name)
        if data is None:
            data = ParameterData(store=store,
                                 field_name=param_name,
                                 field_value=value,
                                 is_editable=True)
            self._values[param_name] = data.field_value

        data.field_value = value