+ post: () ->\r
+ _.each @fields, (field) =>\r
+ @item.set(field.field_name, field.val())\r
+ @item.unset('id') # isNew use flag that id attr set\r
+ @trigger('http_post', @item.create_url(), this)\r
+ return false\r
+ \r
+ put: () ->\r
+ _.each @fields, (field) =>\r
+ @item.set(field.field_name, field.val())\r
+ @trigger('http_post', @item.update_url(), this)\r
+ return false\r
+ \r
+ save: (attrs = null, options = null) ->\r
+ @listenTo(@item, 'save:success', @success)\r
+ @listenTo(@item, 'save:fail', @fail)\r
+ if attrs\r
+ @item.save(attrs, options)\r
+ else\r
+ @item.save()\r
+ \r
+ success: (model, response) ->\r
+ @trigger('success', model, response)\r
+ \r
+ fail: (model, response) ->\r
+ @trigger('fail', response)\r
+ \r
+ valid: () ->\r
+ window.router.navigate('/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')), true)\r
+ return false\r
+ \r
+ invalid: () ->\r
+ alert('invalid')\r
+ \r
+ save_data: () ->\r
+ @item.my_class().child_models()\r
+ attrs = {}\r
+ _.each @fields, (field) =>\r
+ attrs[field.field_name] = @item.get(field.field_name)\r
+ _.each @child_forms, (child_form, name) =>\r
+ mm = @item.my_class().my_manifest()\r
+ em = child_form.item.my_class().my_manifest()\r
+ if mm.associations.is_has_one(em)\r
+ attrs[name + '_attributes'] = child_form.save_data()\r
+ else\r
+ attrs[name + '_attributes'] = []\r
+ _.each child_form, (form) =>\r
+ attrs[name + '_attributes'].push(form.save_data())\r
+ attrs\r
+ \r