# HG changeset patch # User Sverre Rabbelier # Date 1234709823 0 # Node ID f8056a197fb8affbce3a5b7d75b50951d7e07ed3 # Parent 1b4b4a9ac17bbbf7355284fbd7d08933a3faf24b Add an admin view Makes use of the new admin form and the as_readonly_table tag. Patch by: Sverre Rabbelier diff -r 1b4b4a9ac17b -r f8056a197fb8 app/soc/templates/soc/models/admin.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/soc/templates/soc/models/admin.html Sun Feb 15 14:57:03 2009 +0000 @@ -0,0 +1,36 @@ +{% extends "soc/models/edit.html" %} +{% comment %} +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +{% endcomment %} +{% load forms_helpers %} + +{% block scripts %}{% endblock %} + +{% block body %} +

+ + {% as_readonly_table form %} +
+{% if export_link %} + + + + + + +
 
+ +
+{% endif %} +

+{% endblock %} diff -r 1b4b4a9ac17b -r f8056a197fb8 app/soc/views/models/base.py --- a/app/soc/views/models/base.py Sun Feb 15 14:56:30 2009 +0000 +++ b/app/soc/views/models/base.py Sun Feb 15 14:57:03 2009 +0000 @@ -126,6 +126,45 @@ @decorators.merge_params @decorators.check_access + def admin(self, request, access_type, + page_name=None, params=None, **kwargs): + """Displays the admin page for the entity specified by **kwargs. + + Params usage: + rights: The rights dictionary is used to check if the user has + the required rights to view the public page for this entity. + See checkAccess for more details on how the rights dictionary + is used to check access rights. + name: The name value is used to set the entity_type in the + context so that the template can refer to it. + public_template: The public_template value is used as template + to display the public page of the found entity. + + Args: + request: the standard Django HTTP request object + access_type : the name of the access type which should be checked + page_name: the page name displayed in templates as page and header title + params: a dict with params for this View + kwargs: the Key Fields for the specified entity + """ + + # create default template context for use with any templates + context = helper.responses.getUniversalContext(request) + context['page_name'] = page_name + + try: + entity = self._logic.getFromKeyFieldsOr404(kwargs) + except out_of_band.Error, error: + return helper.responses.errorResponse(error, request, context=context) + + form = params['admin_form'](instance=entity) + template = params['admin_template'] + + return self._constructResponse(request, entity, context, form, + params, template=template) + + @decorators.merge_params + @decorators.check_access def export(self, request, access_type, page_name=None, params=None, **kwargs): """Displays the export page for the entity specified by **kwargs.