class Pettanr.FoldersController extends Pettanr.AppController\r
\r
index: () ->\r
- @trigger('retitle', @params)\r
+ @trigger('title', @params)\r
@filer_list()\r
+ @trigger('done', @params)\r
\r
root: () ->\r
- @trigger('retitle', @params)\r
@set_model()\r
- @item = new Pettanr.Folder.Root()\r
- @item.fetch({cache: true}).done =>\r
- @children_html()\r
+ Pettanr.Folder.Root.retrieve(null, this, {\r
+ success: (@item) => \r
+ @children_html()\r
+ fail: (response, opt) => \r
+ @trigger('fail', response, opt)\r
+ force: true\r
+ })\r
\r
show_html_format: (format) -> \r
\r
- children_html: () -> \r
- @trigger('retitle', @params, @item.get('name'))\r
- collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
- collection.fetch({cache: true}).done =>\r
- filer = new Locmare.Filer({\r
- item_name: 'folder', \r
- items: collection.models, \r
- pager: null, \r
- operators: @operators\r
- })\r
- @listenTo(filer, 'navigate', @navigate)\r
- @trigger('ready', filer)\r
- \r
show: () ->\r
- if @params['format'] == 'prof'\r
- @set_show()\r
- @item = new Pettanr.FolderWatch({id: @params['id']}) # replace refference item\r
- @show_prof()\r
+ @set_model()\r
+ folder = new Pettanr.FolderWatch({id: @params['id']})\r
+ folder.retrieve(this, {\r
+ success: (@item) => \r
+ @render_show()\r
+ fail: (response, opt) => \r
+ @trigger('fail', response, opt)\r
+ force: true\r
+ })\r
+ \r
+ \r
+ render_show: () -> \r
+ switch @params['format']\r
+ when 'prof'\r
+ @show_prof()\r
+ when 'html'\r
+ @show_html()\r
+ \r
+ show_html: () -> \r
+ if @item.is_remote()\r
+ @trigger('other', @item.remote_url())\r
else\r
- @item = new Pettanr.FolderWatch({id: @params['id']})\r
- @item.fetch({cache: true}).done () =>\r
- if @item.is_remote()\r
- vp = new Pettanr.ViewPicker({url: @item.remote_url(), operators: @operators})\r
- @listenTo(vp, 'ready', @refresh)\r
- @listenTo(vp, 'retitle', @retitle)\r
- else\r
- @children_html()\r
+ @children_html()\r
+ \r
+ children_html: () -> \r
+ @trigger('title', @params, @item.get('name'))\r
+ collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
+ collection.fetch({\r
+ success: (models, response, opt) =>\r
+ filer = new Locmare.Filer({\r
+ item_name: 'folder', \r
+ items: collection.models, \r
+ pager: null, \r
+ })\r
+ filer.render()\r
+ @trigger('ready', filer)\r
+ @trigger('done', @params)\r
+ error: (item, response, opt) =>\r
+ @trigger('fail', response, opt)\r
+ })\r
\r
count: () ->\r
\r
new: () ->\r
- @trigger('retitle', @params)\r
+ @trigger('title', @params)\r
@form_new()\r
+ @trigger('done', @params)\r
\r
edit: () ->\r
- @trigger('retitle', @params)\r
+ @trigger('title', @params)\r
@form_edit()\r
+ @trigger('done', @params)\r
\r
# for remote folder\r
refresh: (view) ->\r
@trigger('ready', view)\r
\r
- retitle: (params, str = null) ->\r
- @trigger('retitle', @params, str = null)\r
+ title: (params, str) ->\r
+ @trigger('title', params, str)\r
+ \r
+ done: (params) ->\r
+ @trigger('done', params)\r
+ \r
+ deny: (params, form, safe_url) ->\r
+ @trigger('deny', params, form, safe_url)\r
+ \r
+ @is_deny_action_on_picker: (params) ->\r
+ switch params['action']\r
+ when 'new'\r
+ true\r
+ when 'edit'\r
+ true\r
+ else\r
+ false\r
\r