def object_edit(model_slug, model_key=None, **attrs): if model_slug not in models: abort(404) model = models[model_slug] sk = attrdict() if model_key: try: data = model.q.get_by(id=model_key) except NoData: abort(404) else: data = model sk.session = db if model_key: obj = model.q.get_by(id=int(model_key)) else: obj = None fields = FieldSet(data, **sk) _fixup_fs(fields, model_key, attrs) if request.method == 'POST': fields.rebind(data=request.form) if fields.validate(): fields.sync() next_url = url_for('_admin.object_list', model_slug=model_slug) return redirect(next_url) context = { 'model_slug': model_slug, 'model': model, 'fields': fields, } template_name = '_admin/edit.html' if model_key else '_admin/new.html' return render_template(template_name, **context)
def task_add(): """Add a new task command to be executed, added by only Supreme Admin by careful planning""" task = Task() fs = FieldSet(task) stage_options = [('', ''), ('Deployment', 'Deployment'), ('Maintenance', 'Maintenance'), ('General', 'General')] fs.configure(options=[ fs.name.label('Task Name'), fs.cmd.label('Command'), fs.params.label('Parameters'), fs.stage.dropdown(stage_options) ]) if request.method == 'POST': fs.rebind(data=request.form) if fs.validate(): fs.sync() db.session.add(task) db.session.commit() flash('Task successfully added!') fs.rebind(model=Task) return render_template('tasks/task_add.html', form=fs)
' checked="checked"' if self._is_checked(functionality.id) else "", functionality.value) i += 1 result += '</ul></li>' return result ############################################################################## # FIELDS defs # # DefaultBasemap, Layer, LayerGroup, Mandant, Printtemplates, RestrictionArea, # Role, Title, User # ############################################################################## # Layer Layer = FieldSet(models.Layer) Layer.order.set(metadata=dict(mandatory='')).required() Layer.layerType.set( renderer=fields.SelectFieldRenderer, options=["internal WMS", "external WMS", "WMTS", "no 2D"]) Layer.imageType.set( renderer=fields.SelectFieldRenderer, options=["image/jpeg", "image/png"]) Layer.restrictionareas.set(renderer=fields.CheckBoxSet) Layer.parents.set(readonly=True) # LayerGroup LayerGroup = FieldSet(models.LayerGroup) LayerGroup.order.set(metadata=dict(mandatory='')).required() LayerGroup.children.set(renderer=TreeItemCheckBoxTreeSet) LayerGroup.parents.set(readonly=True)
image_type_options = [ ("image/jpeg", _("image/jpeg")), ("image/png", _("image/png")) ] time_options = [ ("disabled", _("disabled")), ("value", _("value")), ("range", _("range")), ] time_widget_options = [ ("slider", _("slider")), ("datepicker", _("datepicker")), ] # Layer V1 LayerV1 = FieldSet(models.LayerV1) LayerV1.configure(exclude=[LayerV1.parents_relation]) LayerV1.layer_type.set( renderer=SelectFieldRenderer, options=[ ("internal WMS", _("internal WMS")), ("external WMS", _("external WMS")), ("WMTS", _("WMTS")), ("no 2D", _("no 2D")), ]) LayerV1.image_type.set( renderer=SelectFieldRenderer, options=image_type_options ) LayerV1.time_mode.set( renderer=SelectFieldRenderer,
# -*- coding: utf-8 -*- from pyramid_formalchemy.utils import TemplateEngine from pyramidapp import models from formalchemy import Grid, FieldSet from formalchemy import fields from formalchemy import config config.engine = TemplateEngine() FieldSet.default_renderers['dropdown'] = fields.SelectFieldRenderer MyModel = FieldSet(models.MyModel) GridMyModel = Grid(models.MyModel) GridMyModelReadOnly = Grid(models.MyModel) GridMyModelReadOnly.configure(readonly=True) FooEdit = FieldSet(models.Foo) FooEdit.configure()
("datepicker", _("datepicker")), ] ogcserver_type_options = [ (models.OGCSERVER_TYPE_MAPSERVER, _("MapServer")), (models.OGCSERVER_TYPE_QGISSERVER, _("QGISserver")), (models.OGCSERVER_TYPE_GEOSERVER, _("GeoServer")), (models.OGCSERVER_TYPE_OTHER, _("Other")), ] ogcserver_auth_options = [ (models.OGCSERVER_AUTH_NOAUTH, _("No auth")), (models.OGCSERVER_AUTH_STANDARD, _("Standard auth")), (models.OGCSERVER_AUTH_GEOSERVER, _("GeoServer auth")), ] # Layer V1 LayerV1 = FieldSet(models.LayerV1) LayerV1.configure(exclude=[LayerV1.parents_relation]) LayerV1.layer_type.set(renderer=SelectFieldRenderer, options=[ ("internal WMS", _("internal WMS")), ("external WMS", _("external WMS")), ("WMTS", _("WMTS")), ("no 2D", _("no 2D")), ]) LayerV1.image_type.set(renderer=SelectFieldRenderer, options=image_type_options) LayerV1.time_mode.set( renderer=SelectFieldRenderer, options=time_options, ) LayerV1.time_widget.set(