def inline(self, request, prefix, app_label, model_name, **kwargs): """ inline model editing """ if request.method == "POST" and self._meta.inline: fields = self.get_field_list(app_label=app_label, model_name=model_name) model = get_model(app_label, model_name) pk_field = model._meta.pk.name pk = request.POST.get(pk_field + 'primarykey') instance = get_object_or_404(model, pk=pk) inline = [] for field in fields: field_object = model._meta.get_field(field) field_type = field_object.__class__.__name__ if field_type in Grid.INLINE_EDITABLE_FIELDS and not field_object.primary_key and field_object.editable: inline.append(field) class InlineForm(forms.ModelForm): class Meta: model = get_model(app_label, model_name) fields = inline[:] aed = AED(request, app_label, model_name, 'djgrid/aed_base.html', InlineForm, pk, force_ajax=True, action='edit') aed.process_request() result = {'status': 'ok'} return HttpResponse(simplejson.dumps(result), mimetype='application/json') else: return HttpResponse('operation is not allowed')
def inline(self, request,prefix, app_label, model_name, **kwargs): """ inline model editing """ if request.method=="POST" and self._meta.inline: fields = self.get_field_list(app_label = app_label,model_name = model_name) model = get_model(app_label, model_name) pk_field = model._meta.pk.name pk = request.POST.get(pk_field+'primarykey') instance = get_object_or_404(model, pk = pk) inline = [] for field in fields: field_object = model._meta.get_field(field) field_type = field_object.__class__.__name__ if field_type in Grid.INLINE_EDITABLE_FIELDS and not field_object.primary_key and field_object.editable: inline.append(field) class InlineForm(forms.ModelForm): class Meta: model = get_model(app_label,model_name) fields = inline[:] aed = AED(request, app_label, model_name, 'djgrid/aed_base.html', InlineForm, pk, force_ajax = True, action = 'edit') aed.process_request() result = {'status':'ok'} return HttpResponse(simplejson.dumps(result),mimetype='application/json') else: return HttpResponse('operation is not allowed')
def actionview(self, request, prefix, app_label, model_name, object_id = None, action = None): """ model instance add-edit-delete operations """ class InstantForm(forms.ModelForm): formfield_callback = self.make_custom_field class Meta: model = get_model(app_label,model_name) url_add = reverse('djgrid-createview',kwargs={'prefix':self._meta.prefix,'app_label': app_label,'model_name': model_name}) if object_id: url_edit = reverse('djgrid-actionview',kwargs={'prefix':self._meta.prefix,'app_label': app_label,'model_name': model_name,'object_id':object_id, 'action':'edit'}) url_delete = reverse('djgrid-actionview',kwargs={'prefix':self._meta.prefix,'app_label': app_label,'model_name': model_name,'object_id':object_id, 'action':'delete'}) else: url_edit = None url_delete = None aed = AED(request, app_label, model_name, 'djgrid/aed_base.html', InstantForm, object_id, extra_initial = {}, extra_context = {'WYSIWYG_HEIGHT':self._meta.wysiwyg_height}, force_ajax = False, action = action, url_add = url_add, url_edit = url_edit, url_delete = url_delete) success_redirect_url = reverse('djgrid-listview',kwargs={'prefix':self._meta.prefix,'app_label': app_label,'model_name': model_name}) aed.add_a_redirect(success_redirect_url) aed.add_e_redirect(success_redirect_url) aed.add_d_redirect(success_redirect_url) return aed.process_request()
def actionview(self, request, prefix, app_label, model_name, object_id=None, action=None): """ model instance add-edit-delete operations """ class InstantForm(forms.ModelForm): formfield_callback = self.make_custom_field class Meta: model = get_model(app_label, model_name) url_add = reverse('djgrid-createview', kwargs={ 'prefix': self._meta.prefix, 'app_label': app_label, 'model_name': model_name }) if object_id: url_edit = reverse('djgrid-actionview', kwargs={ 'prefix': self._meta.prefix, 'app_label': app_label, 'model_name': model_name, 'object_id': object_id, 'action': 'edit' }) url_delete = reverse('djgrid-actionview', kwargs={ 'prefix': self._meta.prefix, 'app_label': app_label, 'model_name': model_name, 'object_id': object_id, 'action': 'delete' }) else: url_edit = None url_delete = None aed = AED(request, app_label, model_name, 'djgrid/aed_base.html', InstantForm, object_id, extra_initial={}, extra_context={'WYSIWYG_HEIGHT': self._meta.wysiwyg_height}, force_ajax=False, action=action, url_add=url_add, url_edit=url_edit, url_delete=url_delete) success_redirect_url = reverse('djgrid-listview', kwargs={ 'prefix': self._meta.prefix, 'app_label': app_label, 'model_name': model_name }) aed.add_a_redirect(success_redirect_url) aed.add_e_redirect(success_redirect_url) aed.add_d_redirect(success_redirect_url) return aed.process_request()