Thank you very much! On Jun 1, 1:32 pm, Massimiliano della Rovere <massimiliano.dellarov...@gmail.com> wrote: > here is how I added the action to create new items in the Addressbook > (Rubrica) to the normal change list existing admin page: > > in admin.py > > class RubricaAdmin(admin.ModelAdmin): > list_display = ('cognome', 'nome', 'numero_cellulare',) > list_filter = ('cognome', 'nome', 'numero_cellulare',) > search_fields = ('cognome', 'nome',) > > @csrf_protect_m > def changelist_view(self, request, extra_context=None): > import re > ret = super(RubricaAdmin, self).changelist_view(request, > extra_context) > ret.content = re.sub('(?<=\d )rubrìca', 'voci', ret.content) > > #note it is "importa_csv/" and not "/importa_csv/" > ret.content = ret.content.replace('<a href="add/" > class="addlink">', > '<a href="importa_csv/" class="addlink">Importa csv</a></li><li><a > href="add/" class="addlink">') > return ret > > def importa_csv(self, request, queryset): > pass > > class Media: > css = {'all': ('habble-admin.css',)} > > in view.py > > # -*- coding: utf-8 -*- > > from django.http import HttpResponse > from django.shortcuts import render_to_response > from cruscotto.sms.models import Rubrica > from cruscotto.sms.forms import * > > from django.utils.translation import ugettext_lazy as _ > from django.utils.safestring import mark_safe > from django.utils.encoding import force_unicode > from django import template > > # Create your views here. > > def importa_csv(request): > opts = Rubrica._meta > app_label = opts.app_label > queryset = Rubrica.objects.all() > form = FormCSV_0() > > #modifiable_objects = [] > #perms_needed = set() > #i = 0 > #for obj in queryset: > #if request.user.has_perm('sms.change_rubrica'): > #modifiable_objects.append(obj) > #else: > #perms_needed += 'sms.change_rubrica' > > context = { > "title": _("Importa CSV"), > "object_name": force_unicode(opts.verbose_name), > #"deletable_objects": modifiable_objects, > 'queryset': queryset, > #"perms_lacking": perms_needed, > 'has_change_permission': > request.user.has_perm('sms.change_rubrica'), > "opts": opts, > #"root_path": self.admin_site.root_path, > "app_label": app_label, > #'action_checkbox_name': admin.ACTION_CHECKBOX_NAME, > 'form': form.as_table(), > 'form_url': > '{url_scheme}://{h_p}/chpwd/'.format(url_scheme=request.META['wsgi.url_sche > me'], > h_p=request.META['HTTP_HOST']), > } > > return render_to_response('importa_csv.html', context, > context_instance=template.RequestContext(request)) > > in urls.py before the admin row: > (r'^admin/sms/rubrica/importa_csv/', 'sms.views.importa_csv'), # > nest inside admin interface! this is important for the ../ links in > the template to work > > the template: > {% extends "admin/base_site.html" %} > {% load i18n admin_modify adminmedia %} > > {% block extrahead %}{{ block.super }} > <script type="text/javascript" src="../../../jsi18n/"></script> > {{ media }} > {% endblock %} > > {% block extrastyle %}{{ block.super }}<link rel="stylesheet" > type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% > endblock %} > > {% block coltype %}{% if ordered_objects %}colMS{% else %}colM{% endif > %}{% endblock %} > > {% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} > change-form{% endblock %} > > {% block breadcrumbs %}{% if not is_popup %} > <div class="breadcrumbs"> > <a href="../../../">{% trans "Home" %}</a> › > <a href="../../">{{ app_label|capfirst|escape }}</a> › > {% if has_change_permission %}<a href="../">{{ > opts.verbose_name_plural|capfirst }}</a>{% else %}{{ > opts.verbose_name_plural|capfirst }}{% endif %}<!-- › > {% if add %}{% trans "Add" %} {{ opts.verbose_name }}{% else %}{{ > original|truncatewords:"18" }}{% endif %}--> > </div> > {% endif %}{% endblock %} > > {% block content %} > <div id="content-main"> > {{ form }} > </div> > {% endblock %} > > > > On Tue, Jun 1, 2010 at 11:07, gderazon <gdera...@gmail.com> wrote: > > I would like to add my own custom operations in addition to standard > > "save and add another", "save" etc' > > Is it supported? > > > -- > > You received this message because you are subscribed to the Google Groups > > "Django users" group. > > To post to this group, send email to django-us...@googlegroups.com. > > To unsubscribe from this group, send email to > > django-users+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/django-users?hl=en.
-- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.