@item.boosts 'post'\r
@render_form(save_func)\r
\r
- render_form: (save_func) ->\r
+ render_form: () ->\r
@form = Locmare.Form.factory({\r
form_name: @item.item_name(), \r
item: @item, \r
mounted: true, \r
submit: 'default', \r
operators: @operators,\r
- action: '/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')),\r
- save_func: save_func\r
+ action: '/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id'))\r
})\r
@listenTo(@form, 'post', @create)\r
@listenTo(@form, 'put', @update)\r
@form.render()\r
@trigger('ready', @form)\r
\r
- form_new: (save_func) ->\r
+ form_new: () ->\r
@set_new()\r
- @render_form(save_func)\r
+ @render_form()\r
\r
- form_edit: (save_func) ->\r
- @set_edit(save_func)\r
+ form_edit: () ->\r
+ @set_edit()\r
\r
navigate: (url) ->\r
@trigger('navigate', url)\r
\r
new: () ->\r
@trigger('retitle', @params)\r
- @form_new()\r
+ @form_new(@create)\r
\r
edit: () ->\r
@trigger('retitle', @params)\r
- @form_edit()\r
- \r
- create: () ->\r
- \r
- update: () ->\r
+ @form_edit(@update)\r
+ \r
+ create: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', '/home/configure')\r
+ else\r
+ @not_created()\r
+ \r
+ update: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', '/home/configure')\r
+ else\r
+ @not_updated()\r
\r
destroy: () ->\r
\r
\r
new: () ->\r
@trigger('retitle', @params)\r
- @form_new()\r
+ @form_new(@create)\r
\r
edit: () ->\r
@trigger('retitle', @params)\r
- @form_edit()\r
- \r
- create: () ->\r
- \r
- update: () ->\r
+ @form_edit(@update)\r
+ \r
+ create: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', '/home/configure')\r
+ else\r
+ @not_created()\r
+ \r
+ update: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', '/home/configure')\r
+ else\r
+ @not_updated()\r
\r
destroy: () ->\r
\r
\r
new: () ->\r
@trigger('retitle', @params)\r
- @form_new()\r
+ @form_new(@create)\r
\r
edit: () ->\r
@trigger('retitle', @params)\r
- @form_edit()\r
- \r
- create: () ->\r
- \r
- update: () ->\r
+ @form_edit(@update)\r
+ \r
+ create: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', form.item.show_url())\r
+ else\r
+ @not_created()\r
+ \r
+ update: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', form.item.show_url())\r
+ else\r
+ @not_updated()\r
\r
destroy: () ->\r
\r
vp = new Pettanr.ViewPicker({operators: @operators})\r
@listenTo(vp, 'ready', @refresh)\r
@listenTo(vp, 'retitle', @retitle)\r
+ @listenTo(vp, 'redirect', @redirect_to)\r
vp.navigate(@item.remote_url())\r
else\r
@children_html()\r
retitle: (params, str = null) ->\r
@trigger('retitle', @params, str = null)\r
\r
+ redirect_to: (url) ->\r
+ @trigger('redirect', url)\r
+ \r
\r
new: () ->\r
@trigger('retitle', @params)\r
- @form_new(@create)\r
+ @form_new()\r
\r
edit: () ->\r
@trigger('retitle', @params)\r
- @form_edit(@update)\r
+ @form_edit()\r
\r
create: (form) ->\r
form.item.overwrite(@operators)\r
if form.save()\r
- vp = new Pettanr.ViewPicker({operators: @operators})\r
- @listenTo(vp, 'ready', @redirected)\r
- @listenTo(vp, 'retitle', @retitle)\r
- vp.navigate(form.item.show_url())\r
+ @trigger('redirect', form.item.show_url())\r
else\r
@not_created()\r
\r
update: (form) ->\r
form.item.overwrite(@operators)\r
if form.save()\r
- vp = new Pettanr.ViewPicker({operators: @operators})\r
- @listenTo(vp, 'ready', @redirected)\r
- @listenTo(vp, 'retitle', @retitle)\r
- vp.navigate(form.item.show_url())\r
+ @trigger('redirect', form.item.show_url())\r
else\r
@not_updated()\r
\r
\r
new: () ->\r
@trigger('retitle', @params)\r
- @form_new()\r
+ @form_new(@create)\r
\r
edit: () ->\r
@trigger('retitle', @params)\r
- @form_edit()\r
- \r
- create: () ->\r
- \r
- update: () ->\r
+ @form_edit(@update)\r
+ \r
+ create: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', form.item.show_url())\r
+ else\r
+ @not_created()\r
+ \r
+ update: (form) ->\r
+ form.item.overwrite(@operators)\r
+ if form.save()\r
+ @trigger('redirect', form.item.show_url())\r
+ else\r
+ @not_updated()\r
\r
destroy: () ->\r
\r
super(options)\r
@submit = options.submit\r
@action = options.action\r
- @save_func = options.save_func\r
@child_forms = {}\r
@item.boosts 'post'\r
@init_fields()\r
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('post', this)\r
return false\r
\r
name: 'no name'\r
} \r
\r
+ overwrite: (options) ->\r
+ \r
icon_with_caption_view: (half = true, column_name = 'name', length = 12) ->\r
new Pettanr.Views.Common.IconWithCaption({item: this, half: half, column_name: column_name, length: length})\r
\r
name: 'no name'\r
} \r
\r
+ overwrite: (options) ->\r
+ \r
icon_with_caption_view: (half = true, column_name = 'name', length = 12) ->\r
new Pettanr.Views.Common.IconWithCaption({item: this, half: half, column_name: column_name, length: length})\r
\r
else\r
@get('visible') > 0\r
\r
+ overwrite: (options) ->\r
+ operators = options.operators\r
+ return false if not operators.author\r
+ @set('author_id', operators.author.id)\r
+ \r
symbol_filename: () ->\r
\r
initialize: () ->\r
refresh: (view) ->\r
@trigger('ready', view)\r
\r
+ redirect_to: (url) ->\r
+ @trigger('redirect', url)\r
+ \r
class Pettanr.Views.Layout\r
class Pettanr.Views.Layout.ControllerManager\r
\r
@listenTo(@header, 'sign_out:success', @sign_out_success)\r
@listenTo(@header, 'sign_out:fail', @sign_out_fail)\r
@listenTo(@body, 'navigate', @body_navigate)\r
+ @listenTo(@body, 'retitle', @retitle)\r
@listenTo(@body, 'sign_in', @sign_in)\r
@listenTo(@body, 'sign_out', @sign_out)\r
\r
@local_router.navigate(url, true)\r
@trigger('navigate', url)\r
\r
+ redirect_to: (url) ->\r
+ @navigate(url)\r
+ \r
operators: () ->\r
@parent.operators\r
\r