def save_ajax(request): if not request.method == 'POST': return HttpResponse(simplejson.dumps({'errors': 'It is not a POST request'}), mimetype='application/json') adaptor = _get_adaptor(request, 'POST') if not adaptor: return HttpResponse(simplejson.dumps({'errors': 'Params insufficient'}), mimetype='application/json') value = simplejson.loads(request.POST.get('value')) new_data = get_dict_from_obj(adaptor.obj) form_class = adaptor.get_form_class() field_name = adaptor.field_name form = form_class(data=new_data, instance=adaptor.obj) try: value_edit = adaptor.get_value_editor(value) value_edit_with_filter = apply_filters(value_edit, adaptor.filters_to_edit) new_data[field_name] = value_edit_with_filter if form.is_valid(): adaptor.save(value_edit_with_filter) return HttpResponse(simplejson.dumps({'errors': False, 'value': adaptor.render_value()}), mimetype='application/json') messages = [] # The error is for another field that you are editing for field_name_error, errors_field in form.errors.items(): for error in errors_field: messages.append("%s: %s" % (field_name_error, unicode(error))) message_i18n = ','.join(messages) return HttpResponse(simplejson.dumps({'errors': message_i18n}), mimetype='application/json') except ValidationError, error: # The error is for a field that you are editing message_i18n = ', '.join([u"%s" % m for m in error.messages]) return HttpResponse(simplejson.dumps({'errors': message_i18n}), mimetype='application/json')
def save_ajax(request): if not request.method == 'POST': return _get_http_response({'errors': 'It is not a POST request'}) adaptor = _get_adaptor(request, 'POST') if not adaptor: return _get_http_response({'errors': 'Params insufficient'}) if not adaptor.can_edit(): return _get_http_response({'errors': 'You can not edit this content'}) value = adaptor.loads_to_post(request) new_data = get_dict_from_obj(adaptor.obj) form_class = adaptor.get_form_class() field_name = adaptor.field_name form = form_class(data=new_data, instance=adaptor.obj) try: value_edit = adaptor.get_value_editor(value) value_edit_with_filter = apply_filters(value_edit, adaptor.filters_to_edit) new_data[field_name] = value_edit_with_filter if form.is_valid(): adaptor.save(value_edit_with_filter) return _get_http_response({ 'errors': False, 'value': adaptor.render_value_edit() }) messages = [] # The error is for another field that you are editing for field_name_error, errors_field in form.errors.items(): for error in errors_field: messages.append("%s: %s" % (field_name_error, unicode(error))) message_i18n = ','.join(messages) return _get_http_response({'errors': message_i18n}) except ValidationError, error: # The error is for a field that you are editing message_i18n = ', '.join([u"%s" % m for m in error.messages]) return _get_http_response({'errors': message_i18n})
def save_ajax(request): if not request.method == "POST": return _get_http_response({"errors": "It is not a POST request"}) adaptor = _get_adaptor(request, "POST") if not adaptor: return _get_http_response({"errors": "Params insufficient"}) if not adaptor.can_edit(): return _get_http_response({"errors": "You can not edit this content"}) value = adaptor.loads_to_post(request) new_data = get_dict_from_obj(adaptor.obj) form_class = adaptor.get_form_class() field_name = adaptor.field_name form = form_class(data=new_data, instance=adaptor.obj) messages = [] try: value_edit = adaptor.get_value_editor(value) value_edit_with_filter = apply_filters(value_edit, adaptor.filters_to_edit) new_data[field_name] = value_edit_with_filter if form.is_valid(): adaptor.save(value_edit_with_filter) return _get_http_response({"errors": False, "value": adaptor.render_value_edit()}) # The error is for another field that you are editing for field_name_error, errors_field in form.errors.items(): try: name = form.instance._meta.get_field_by_name(field_name_error)[0].verbose_name.decode("utf-8") except FieldDoesNotExist: name = field_name_error for error in errors_field: messages.append([name, unicode(error)]) except ValidationError as error: # The error is for a field that you are editing for error in error.messages: messages.append([None, unicode(error)]) message_i18n = render_to_string("inplaceeditform/field_errors.html", {"errors": messages}) return _get_http_response({"errors": message_i18n})
def save_ajax(request): if not request.method == 'POST': return _get_http_response({'errors': 'It is not a POST request'}) adaptor = _get_adaptor(request, 'POST') if not adaptor: return _get_http_response({'errors': 'Params insufficient'}) if not adaptor.can_edit(): return _get_http_response({'errors': 'You can not edit this content'}) value = adaptor.loads_to_post(request) new_data = get_dict_from_obj(adaptor.obj) form_class = adaptor.get_form_class() field_name = adaptor.field_name form = form_class(data=new_data, instance=adaptor.obj) try: value_edit = adaptor.get_value_editor(value) value_edit_with_filter = apply_filters(value_edit, adaptor.filters_to_edit) new_data[field_name] = value_edit_with_filter if form.is_valid(): adaptor.save(value_edit_with_filter) return _get_http_response({'errors': False, 'value': adaptor.render_value_edit()}) messages = [] # The error is for another field that you are editing for field_name_error, errors_field in form.errors.items(): for error in errors_field: messages.append(u"%s: %s" % (field_name_error, error)) message_i18n = ', '.join(messages) return _get_http_response({'errors': message_i18n}) except ValidationError as error: # The error is for a field that you are editing message_i18n = ', '.join([u"%s" % m for m in error.messages]) return _get_http_response({'errors': message_i18n})
def render_value(self, field_name=None): field_name = field_name or self.field_name_render value = getattr(self.obj, field_name) if value: value = _("Yes") else: value = _("No") return apply_filters(value, self.filters_to_show, self.loads)
def render_value( self, field_name=None, template_name="inplaceeditform/adaptor_m2m/render_commaseparated_value.html" ): queryset = super(AdaptorCommaSeparatedManyToManyField, self).render_value(field_name) value = render_to_string(template_name, {'queryset': queryset}) return apply_filters(value, self._filters_to_show, self.loads)
def render_value(self, field_name=None): from django.utils.translation import ugettext field_name = field_name or self.field_name_render value = getattr(self.obj, field_name) if value: value = ugettext("Yes") else: value = ugettext("No") return apply_filters(value, self.filters_to_show, self.loads)
def save_ajax(request): if not request.method == "POST": return _get_http_response({"errors": "It is not a POST request"}) adaptor = _get_adaptor(request, "POST") if not adaptor: return _get_http_response({"errors": "Params insufficient"}) if not adaptor.can_edit(): return _get_http_response({"errors": "You can not edit this content"}) value = adaptor.loads_to_post(request) new_data = get_dict_from_obj(adaptor.obj) form_class = adaptor.get_form_class() field_name = adaptor.field_name form = form_class(data=new_data, instance=adaptor.obj) try: value_edit = adaptor.get_value_editor(value) value_edit_with_filter = apply_filters(value_edit, adaptor.filters_to_edit) new_data[field_name] = value_edit_with_filter if form.is_valid(): adaptor.save(value_edit_with_filter) return _get_http_response({ "errors": False, "value": adaptor.render_value_edit() }) messages = [] # The error is for another field that you are editing for field_name_error, errors_field in form.errors.items(): for error in errors_field: if field_name_error == "__all__": # The error is model clean type messages.append(u"Error: %s" % error) else: messages.append(u"%s: %s" % (field_name_error, error)) message_i18n = ", ".join(messages) return _get_http_response({"errors": message_i18n}) except ValidationError as error: # The error is for a field that you are editing message_i18n = ", ".join([u"%s" % m for m in error.messages]) return _get_http_response({"errors": message_i18n})
def render_value(self, field_name=None): val = super(AdaptorDateTimeField, self).render_value(field_name) if not isinstance(val, str) and not isinstance(val, unicode): val = apply_filters(val, ["date:'%s'" % settings.DATETIME_FORMAT]) return val
def render_value(self, field_name=None): field_name = field_name or self.field_name_render value = getattr(self.obj, field_name) if callable(value) and not isinstance(self, AdaptorManyToManyField): value = value() return apply_filters(value, self.filters_to_show, self.loads)
def render_value( self, field_name=None, template_name="inplaceeditform/adaptor_m2m/render_commaseparated_value.html" ): queryset = super(AdaptorCommaSeparatedManyToManyField, self).render_value(field_name) value = render_to_string(template_name, {"queryset": queryset}) return apply_filters(value, self._filters_to_show, self.loads)
def render_value(self, field_name=None): val = super(BaseDateField, self).render_value(field_name) if not isinstance(val, string): val = apply_filters(val, [self.filter_render_value]) return val
def render_value(self, field_name=None): field_name = field_name or self.field_name_render value = getattr(self.obj, field_name) if callable(value): value = value() return apply_filters(value, self.filters_to_show, self.loads)
def render_value(self, field_name=None): val = super(AdaptorDateField, self).render_value(field_name) if not isinstance(val, basestring): val = apply_filters(val, ["date:'%s'" % settings.DATE_FORMAT]) return val
def render_value(self, field_name=None): val = super(BaseAdaptorDateBootStrapField, self).render_value(field_name) if not isinstance(val, string): val = apply_filters(val, [self.filter_render_value]) return val