def _get_query_to_keep(self, resource, context): """Forward is_admin_popup if defined""" to_keep = DBResource_Edit._get_query_to_keep(self, resource, context) is_admin_popup = context.get_query_value('is_admin_popup') if is_admin_popup: to_keep.append({'name': 'is_admin_popup', 'value': '1'}) return to_keep
def set_value(self, resource, context, name, form): menu = resource.parent if name == 'title': value = form[name] if type(value) is dict: for language, data in value.iteritems(): menu.set_property(name, data, language=language) else: menu.set_property(name, value) return False if name == 'width': value = form[name] menu.set_property(name, value) return False if name == 'height': value = form[name] menu.set_property(name, value) return False if name == 'border': value = form[name] menu.set_property(name, value) return False if name == 'show_border': value = form[name] menu.set_property(name, value) return False if name == 'show_title': value = form[name] menu.set_property(name, value) return False return DBResource_Edit.set_value(self, resource, context, name, form)
def _get_schema(self, resource, context): base_schema = DBResource_Edit._get_schema(self, resource, context) return freeze(merge_dicts(base_schema, display_title=Boolean, render=OpenLayerRender(mandatory=True), width=Integer, height=Integer, address=Unicode, latitude=Decimal, longitude=Decimal, zoom=Integer, # Hack gps=String))
def get_value(self, resource, context, name, datatype): if name == 'tags': return TagsAware_Edit.get_value(self, resource, context, name, datatype) elif name == 'comment': return u'' return DBResource_Edit.get_value(self, resource, context, name, datatype)
def set_value(self, resource, context, name, form): if name == 'tags': return TagsAware_Edit.set_value(self, resource, context, name, form) elif name == 'comment': comment = Property(form['comment'], date=context.timestamp, author=context.user.name) resource.set_property('comment', comment) return False return DBResource_Edit.set_value(self, resource, context, name, form)
def set_value(self, resource, context, name, form): """Return True if an error occurs otherwise False If an error occurs, the context.message must be an ERROR instance. """ if name == 'title': value = form[name] menu = resource.parent if type(value) is dict: for language, data in value.iteritems(): menu.set_property(name, data, language=language) else: menu.set_property(name, value) return False return DBResource_Edit.set_value(self, resource, context, name, form)
def _get_widgets(self, resource, context): # What type of map ? if resource.get_property('render') == 'google': gps_widget_cls = GoogleGPSWidget else: gps_widget_cls = OpenStreetMapGPSWidget # Map configuration config_map = {'width': resource.get_property('width'), 'height': resource.get_property('height'), 'address': resource.get_property('address'), 'latitude': resource.get_property('latitude'), 'longitude': resource.get_property('longitude'), 'zoom': resource.get_property('zoom')} # Return widgets return freeze(DBResource_Edit._get_widgets(self, resource, context) + [display_title_widget, SelectWidget('render', title=MSG(u'Render map with')), TextWidget('width', title=MSG(u'Map width'), size=6), TextWidget('height', title=MSG(u'Map height'), size=6), gps_widget_cls('gps', title=MSG(u'GPS'), resource=resource, **config_map)])
def get_value(self, resource, context, name, datatype): if name == 'title': #language = resource.get_content_language(context) #return resource.parent.get_property(name, language=language) return DBResource_Edit.get_value(self, resource.parent, context, name, datatype) if name == 'width': return DBResource_Edit.get_value(self, resource.parent, context, name, datatype) if name == 'height': return DBResource_Edit.get_value(self, resource.parent, context, name, datatype) if name == 'border': return DBResource_Edit.get_value(self, resource.parent, context, name, datatype) if name == 'show_border': return DBResource_Edit.get_value(self, resource.parent, context, name, datatype) if name == 'show_title': return DBResource_Edit.get_value(self, resource.parent, context, name, datatype) return DBResource_Edit.get_value(self, resource, context, name, datatype)
def action(self, resource, context, form): self.check_edit_conflict(resource, context, form) if context.edit_conflict: return EditView.action(self, resource, context, form) return DBResource_Edit.action(self, resource, context, form)
def _get_schema(self, resource, context): return merge_dicts(DBResource_Edit._get_schema(self, resource, context), view=SectionViews_Enumerate, breadcrumb_title=Multilingual)
def _get_widgets(self, resource, context): return freeze(DBResource_Edit._get_widgets(self, resource, context) + [SelectWidget('view', title=MSG(u'View'), has_empty_option=False), TextWidget('breadcrumb_title', title=MSG(u'Breadcrumb title'))])
def set_value(self, resource, context, name, form): if name == "tags": return TagsAware_Edit.set_value(self, resource, context, name, form) return DBResource_Edit.set_value(self, resource, context, name, form)
def get_value(self, resource, context, name, datatype): if name == "tags": return TagsAware_Edit.get_value(self, resource, context, name, datatype) return DBResource_Edit.get_value(self, resource, context, name, datatype)
def get_value(self, resource, context, name, datatype): if name in ('title', 'show_title'): language = resource.get_content_language(context) return resource.parent.get_property(name, language=language) return DBResource_Edit.get_value(self, resource, context, name, datatype)
def get_value(self, resource, context, name, datatype): if name == 'state': return resource.get_workflow_state() return DBResource_Edit.get_value(self, resource, context, name, datatype)
def get_value(self, resource, context, name, datatype): if name == 'title': return DBResource_Edit.get_value(self, resource.parent, context, name, datatype) return DBResource_Edit.get_value(self, resource, context, name, datatype)
def set_value(self, resource, context, name, datatype): if name == 'gps': return return DBResource_Edit.set_value(self, resource, context, name, datatype)