Author: zain Date: 2009-06-08 22:44:46 -0500 (Mon, 08 Jun 2009) New Revision: 10958
Added: django/branches/soc2009/admin-ui/django/contrib/admin/templates/admin/edit_inline/selector.html Modified: django/branches/soc2009/admin-ui/django/contrib/admin/__init__.py django/branches/soc2009/admin-ui/django/contrib/admin/media/css/forms.css django/branches/soc2009/admin-ui/django/contrib/admin/options.py django/branches/soc2009/admin-ui/django/contrib/contenttypes/generic.py Log: [soc2009/admin-ui] the beginnings of a new type of inline, called Selector Inline, based on this mockup: http://media.wilsonminer.com/images/django/related-objects-stacked.gif Modified: django/branches/soc2009/admin-ui/django/contrib/admin/__init__.py =================================================================== --- django/branches/soc2009/admin-ui/django/contrib/admin/__init__.py 2009-06-08 14:51:44 UTC (rev 10957) +++ django/branches/soc2009/admin-ui/django/contrib/admin/__init__.py 2009-06-09 03:44:46 UTC (rev 10958) @@ -1,6 +1,6 @@ from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME from django.contrib.admin.options import ModelAdmin, HORIZONTAL, VERTICAL -from django.contrib.admin.options import StackedInline, TabularInline +from django.contrib.admin.options import StackedInline, TabularInline, SelectorInline from django.contrib.admin.sites import AdminSite, site from django.utils.importlib import import_module Modified: django/branches/soc2009/admin-ui/django/contrib/admin/media/css/forms.css =================================================================== --- django/branches/soc2009/admin-ui/django/contrib/admin/media/css/forms.css 2009-06-08 14:51:44 UTC (rev 10957) +++ django/branches/soc2009/admin-ui/django/contrib/admin/media/css/forms.css 2009-06-09 03:44:46 UTC (rev 10958) @@ -327,4 +327,32 @@ .add_inline { display: none; +} + +.inline-selector { + float: left; + width: 19%; +} + +.inline-selector-item { + background-color: #F6F6F6; + border: 1px solid #E7E7E7; + padding: 5px; + margin: 7px 0px 7px 5px; + font-size: 0.9em; +} + +.inline-detail { + float: right; + width: 80%; + background: #c9c; + border-left: 1px solid #EEE; +} + +.inline-selector-delete { + float: right; +} + +.clear { + clear: both; } \ No newline at end of file Modified: django/branches/soc2009/admin-ui/django/contrib/admin/options.py =================================================================== --- django/branches/soc2009/admin-ui/django/contrib/admin/options.py 2009-06-08 14:51:44 UTC (rev 10957) +++ django/branches/soc2009/admin-ui/django/contrib/admin/options.py 2009-06-09 03:44:46 UTC (rev 10958) @@ -1166,3 +1166,6 @@ class TabularInline(InlineModelAdmin): template = 'admin/edit_inline/tabular.html' + +class SelectorInline(InlineModelAdmin): + template = 'admin/edit_inline/selector.html' \ No newline at end of file Added: django/branches/soc2009/admin-ui/django/contrib/admin/templates/admin/edit_inline/selector.html =================================================================== --- django/branches/soc2009/admin-ui/django/contrib/admin/templates/admin/edit_inline/selector.html (rev 0) +++ django/branches/soc2009/admin-ui/django/contrib/admin/templates/admin/edit_inline/selector.html 2009-06-09 03:44:46 UTC (rev 10958) @@ -0,0 +1,84 @@ +{% load i18n %} +<div class="inline-group"> + <div class="tabular inline-related {% if forloop.last %}last-related{% endif %}"> + {{ inline_admin_formset.formset.management_form }} + <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2> + + {{ inline_admin_formset.formset.non_form_errors }} + + <div class="inline-selector"> + {% for inline_admin_form in inline_admin_formset %} + <div class="inline-selector-item"> + {% if inline_admin_form.original or inline_admin_form.show_url %} + {% if inline_admin_form.original %} {{ inline_admin_form.original }}{% endif %} + {% if inline_admin_form.show_url %}<a href="../../../r/{{ inline_admin_form.original_content_type_id }}/{{ inline_admin_form.original.id }}/">{% trans "View on site" %}</a>{% endif %} + {% else %} + New Inline + {% endif %} + </div> + {% endfor %} + </div> + + <div class="inline-detail"> + {% for inline_admin_form in inline_admin_formset %} + <h3> + {% if inline_admin_form.original or inline_admin_form.show_url %} + {% if inline_admin_form.original %} {{ inline_admin_form.original }}{% endif %} + {% if inline_admin_form.show_url %}<a href="../../../r/{{ inline_admin_form.original_content_type_id }}/{{ inline_admin_form.original.id }}/">{% trans "View on site" %}</a>{% endif %} + {% else %} + [New Inline] + {% endif %} + + {% if inline_admin_formset.formset.can_delete %} + <span class="inline-selector-delete"> + {% if inline_admin_form.original %} + {{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }} + {% endif %} + </span> + {% endif %} + </h3> + + {% if inline_admin_form.form.non_field_errors %} + {{ inline_admin_form.form.non_field_errors }} + {% endif %} + + <div class="selector-item-detail"> + {% if inline_admin_form.has_auto_field %}{{ inline_admin_form.pk_field.field }}{% endif %} + {{ inline_admin_form.fk_field.field }} + {% spaceless %} + {% for fieldset in inline_admin_form %} + {% for line in fieldset %} + {% for field in line %} + {% if field.is_hidden %} {{ field.field }} {% endif %} + {% endfor %} + {% endfor %} + {% endfor %} + {% endspaceless %} + + {% for fieldset in inline_admin_form %} + <fieldset class="module aligned {{ fieldset.classes }}"> + {% if fieldset.name %}<h2>{{ fieldset.name }}</h2>{% endif %} + {% if fieldset.description %}<div class="description">{{ fieldset.description|safe }}</div>{% endif %} + {% for line in fieldset %} + <div class="form-row{% if line.errors %} errors{% endif %} {% for field in line %}{{ field.field.name }} {% endfor %} "> + {{ line.errors }} + {% for field in line %} + <div{% if not line.fields|length_is:"1" %} class="field-box"{% endif %}> + {% if field.is_checkbox %} + {{ field.field }}{{ field.label_tag }} + {% else %} + {{ field.label_tag }}{{ field.field }} + {% endif %} + {% if field.field.field.help_text %}<p class="help">{{ field.field.field.help_text|safe }}</p>{% endif %} + </div> + {% endfor %} + </div> + {% endfor %} + </fieldset> + {% endfor %} + </div> + {% endfor %} + </div> + <div class="clear"></div> + </div> +</div> \ No newline at end of file Modified: django/branches/soc2009/admin-ui/django/contrib/contenttypes/generic.py =================================================================== --- django/branches/soc2009/admin-ui/django/contrib/contenttypes/generic.py 2009-06-08 14:51:44 UTC (rev 10957) +++ django/branches/soc2009/admin-ui/django/contrib/contenttypes/generic.py 2009-06-09 03:44:46 UTC (rev 10958) @@ -399,3 +399,6 @@ class GenericTabularInline(GenericInlineModelAdmin): template = 'admin/edit_inline/tabular.html' + +class GenericSelectorInline(GenericInlineModelAdmin): + template = 'admin/edit_inline/selector.html' \ No newline at end of file --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-updates?hl=en -~----------~----~----~----~------~----~------~--~---