class Document(Base): def start(self): self.core = Core() self.db = self.core.db() self.auth = self.context.auth = self.core.auth self.session = self.core.session self.get() def get(self): self.context.document = self.db.get_document(*self.request.args[:2]) def create(self): self.before_create() self.context.form = DocumentPage(self.context.document) self.after_create() def edit(self): self.context.form = DocumentPage(self.context.document) def delete(self): self.db.send_to_trash(self.request.args[0], self.request.args[1]) def show(self): self.context.form = DocumentPage(self.context.document, readonly=True) def render(self, view=None): viewfile = "%s.%s" % (view, self.request.extension) return self.response.render(viewfile, self.context)
class Document(Base): def start(self): self.core = Core() self.db = self.core.db() self.auth = self.context.auth = self.core.auth self.session = self.core.session #self.db._check_update('document', 'designer') self.get() def get(self): self.context.document = self.db.get_document(*self.request.args[:2]) def create(self): self.context.form = DocumentPage(self.context.document) def edit(self): self.context.form = DocumentPage(self.context.document) def delete(self): self.db.send_to_trash(self.request.args[0], self.request.args[1]) def show(self): self.context.form = DocumentPage(self.context.document, readonly=True)
class Editor(object): def __init__(self): self.core = Core() self.db = self.core.db() self.document = self.db.get_document('document') def options_composer(self, options): widgets = [] for option in options: widgets.append(LABEL(option.label, _class='control-label', _for=option.name, requires=option.requires)) widgets.append(INPUT(_type='text', _name=option.name, _class=option.type, _class='input-large')) return FORM( DIV( *widgets, _class='controls' ), _class='form' ).xml() def template_composer(self, widget): from gluon.dal import Row def widget_composer(self, widget): options = self.options_composer(types[widget].options) template = self.template_composer(widget) return DIV( template, _class='control-group component', _rel = 'popover', _title = types[widget].label, _trigger = 'manual', **{ '_data-type': widget, '_data-content': options } )
class Designer(Core): def start(self): self.core = Core() self.db = self.core.db() self.auth = self.core.auth