def _location_action(self, path, obj_type=None): location = LocationTag.get(path) if location is None: abort(404) c.security_context = location c.object_location = None c.location = location c.selected_sub_department_id = request.params.get('sub_department_id', None) c.selected_sub_department = None if c.selected_sub_department_id: subdepartment = SubDepartment.get(c.selected_sub_department_id) c.selected_sub_department = subdepartment c.menu_items = subdepartment_menu_items(subdepartment) else: c.tabs = location_feed_subtabs(location) if c.user: c.menu_items = location_menu_items(location) else: c.menu_items = location_menu_public_items(location) c.breadcrumbs = location_breadcrumbs(location) c.theme = location.get_theme() c.notabs = True c.current_menu_item = None if obj_type is None: return method(self, location) else: return method(self, location, obj_type)
def edit_sub_department(self, location): sub_department_id = request.urlvars['id'] sub_department = SubDepartment.get(sub_department_id) c.menu_items = location_edit_menu_items(location) c.current_menu_item = 'sub-departments' form = Form(sub_department, request, defaults={'title': sub_department.title, 'site_url': sub_department.site_url, 'description': sub_department.description}, schema=SubDepartmentAddForm(), action='UPDATE') result = form.work() if result is not None: sub_department.title = result['title'] sub_department.site_url = result['site_url'] sub_department.description = result['description'] meta.Session.commit() redirect(location.url(action='edit_sub_departments')) c.form = form return render('location/edit_sub_department.mako')
def delete_sub_department(self, location): sub_department_id = request.urlvars['id'] sub_department = SubDepartment.get(sub_department_id) sub_department.delete() meta.Session.commit() redirect(location.url(action='edit_sub_departments'))
def _to_python(self, value, state): s = SubDepartment.get(value) if s is None: raise Invalid(self.message('invalid', state), value, state) return value