mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
newforms-admin: Removed some edit_inline stuff and 'oldform' template variable in add_view() and change_view()
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@4569 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
ced8ae1877
commit
43829a95d3
@ -373,7 +373,6 @@ class ModelAdmin(object):
|
|||||||
c = template.RequestContext(request, {
|
c = template.RequestContext(request, {
|
||||||
'title': _('Add %s') % opts.verbose_name,
|
'title': _('Add %s') % opts.verbose_name,
|
||||||
'adminform': AdminForm(form, self.fieldsets_add(request), self.prepopulated_fields),
|
'adminform': AdminForm(form, self.fieldsets_add(request), self.prepopulated_fields),
|
||||||
'oldform': oldforms.FormWrapper(model.AddManipulator(), {}, {}),
|
|
||||||
'is_popup': request.REQUEST.has_key('_popup'),
|
'is_popup': request.REQUEST.has_key('_popup'),
|
||||||
'show_delete': False,
|
'show_delete': False,
|
||||||
'javascript_imports': self.javascript_add(request),
|
'javascript_imports': self.javascript_add(request),
|
||||||
@ -428,7 +427,6 @@ class ModelAdmin(object):
|
|||||||
c = template.RequestContext(request, {
|
c = template.RequestContext(request, {
|
||||||
'title': _('Change %s') % opts.verbose_name,
|
'title': _('Change %s') % opts.verbose_name,
|
||||||
'adminform': AdminForm(form, self.fieldsets_change(request, object_id), self.prepopulated_fields),
|
'adminform': AdminForm(form, self.fieldsets_change(request, object_id), self.prepopulated_fields),
|
||||||
'oldform': oldforms.FormWrapper(model.ChangeManipulator(object_id), {}, {}),
|
|
||||||
'object_id': object_id,
|
'object_id': object_id,
|
||||||
'original': obj,
|
'original': obj,
|
||||||
'is_popup': request.REQUEST.has_key('_popup'),
|
'is_popup': request.REQUEST.has_key('_popup'),
|
||||||
|
@ -63,18 +63,6 @@
|
|||||||
|
|
||||||
{% block after_field_sets %}{% endblock %}
|
{% block after_field_sets %}{% endblock %}
|
||||||
|
|
||||||
{% if change %}
|
|
||||||
{% if ordered_objects %}
|
|
||||||
<fieldset class="module"><h2>{% trans "Ordering" %}</h2>
|
|
||||||
<div class="form-row{% if oldform.order_.errors %} error{% endif %} ">
|
|
||||||
{% if oldform.order_.errors %}{{ oldform.order_.html_error_list }}{% endif %}
|
|
||||||
<p><label for="id_order_">{% trans "Order:" %}</label> {{ oldform.order_ }}</p>
|
|
||||||
</div></fieldset>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% for related_object in inline_related_objects %}{% edit_inline related_object %}{% endfor %}
|
|
||||||
|
|
||||||
{% block after_related_objects %}{% endblock %}
|
{% block after_related_objects %}{% endblock %}
|
||||||
|
|
||||||
{% submit_row %}
|
{% submit_row %}
|
||||||
|
@ -91,54 +91,6 @@ class FormFieldCollectionWrapper(object):
|
|||||||
for field in self.fields]
|
for field in self.fields]
|
||||||
self.index = index
|
self.index = index
|
||||||
|
|
||||||
class TabularBoundRelatedObject(BoundRelatedObject):
|
|
||||||
def __init__(self, related_object, field_mapping, original):
|
|
||||||
super(TabularBoundRelatedObject, self).__init__(related_object, field_mapping, original)
|
|
||||||
self.field_wrapper_list = [FieldWrapper(field) for field in self.relation.editable_fields()]
|
|
||||||
|
|
||||||
fields = self.relation.editable_fields()
|
|
||||||
|
|
||||||
self.form_field_collection_wrappers = [FormFieldCollectionWrapper(field_mapping, fields, i)
|
|
||||||
for (i,field_mapping) in self.field_mappings.items() ]
|
|
||||||
self.original_row_needed = max([fw.use_raw_id_admin() for fw in self.field_wrapper_list])
|
|
||||||
self.show_url = original and hasattr(self.relation.opts, 'get_absolute_url')
|
|
||||||
|
|
||||||
def template_name(self):
|
|
||||||
return "admin/edit_inline_tabular.html"
|
|
||||||
|
|
||||||
class StackedBoundRelatedObject(BoundRelatedObject):
|
|
||||||
def __init__(self, related_object, field_mapping, original):
|
|
||||||
super(StackedBoundRelatedObject, self).__init__(related_object, field_mapping, original)
|
|
||||||
fields = self.relation.editable_fields()
|
|
||||||
self.field_mappings.fill()
|
|
||||||
self.form_field_collection_wrappers = [FormFieldCollectionWrapper(field_mapping ,fields, i)
|
|
||||||
for (i,field_mapping) in self.field_mappings.items()]
|
|
||||||
self.show_url = original and hasattr(self.relation.opts, 'get_absolute_url')
|
|
||||||
|
|
||||||
def template_name(self):
|
|
||||||
return "admin/edit_inline_stacked.html"
|
|
||||||
|
|
||||||
class EditInlineNode(template.Node):
|
|
||||||
def __init__(self, rel_var):
|
|
||||||
self.rel_var = rel_var
|
|
||||||
|
|
||||||
def render(self, context):
|
|
||||||
relation = template.resolve_variable(self.rel_var, context)
|
|
||||||
context.push()
|
|
||||||
if relation.field.rel.edit_inline == models.TABULAR:
|
|
||||||
bound_related_object_class = TabularBoundRelatedObject
|
|
||||||
elif relation.field.rel.edit_inline == models.STACKED:
|
|
||||||
bound_related_object_class = StackedBoundRelatedObject
|
|
||||||
else:
|
|
||||||
bound_related_object_class = relation.field.rel.edit_inline
|
|
||||||
original = context.get('original', None)
|
|
||||||
bound_related_object = relation.bind(context['oldform'], original, bound_related_object_class)
|
|
||||||
context['bound_related_object'] = bound_related_object
|
|
||||||
t = loader.get_template(bound_related_object.template_name())
|
|
||||||
output = t.render(context)
|
|
||||||
context.pop()
|
|
||||||
return output
|
|
||||||
|
|
||||||
def output_all(form_fields):
|
def output_all(form_fields):
|
||||||
return ''.join([str(f) for f in form_fields])
|
return ''.join([str(f) for f in form_fields])
|
||||||
output_all = register.simple_tag(output_all)
|
output_all = register.simple_tag(output_all)
|
||||||
@ -149,10 +101,3 @@ def field_widget(parser, token):
|
|||||||
raise template.TemplateSyntaxError, "%s takes 1 argument" % bits[0]
|
raise template.TemplateSyntaxError, "%s takes 1 argument" % bits[0]
|
||||||
return FieldWidgetNode(bits[1])
|
return FieldWidgetNode(bits[1])
|
||||||
field_widget = register.tag(field_widget)
|
field_widget = register.tag(field_widget)
|
||||||
|
|
||||||
def edit_inline(parser, token):
|
|
||||||
bits = token.contents.split()
|
|
||||||
if len(bits) != 2:
|
|
||||||
raise template.TemplateSyntaxError, "%s takes 1 argument" % bits[0]
|
|
||||||
return EditInlineNode(bits[1])
|
|
||||||
edit_inline = register.tag(edit_inline)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user