From: yasushiito Date: Thu, 26 Mar 2015 02:53:00 +0000 (+0900) Subject: fix: editor canceler for picker X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=commitdiff_plain;h=d7ac24c1094fa64a52148bf868ae2c4814380596 fix: editor canceler for picker --- diff --git a/app/assets/javascripts/controllers.js.coffee b/app/assets/javascripts/controllers.js.coffee index 2087b2da..c9723251 100644 --- a/app/assets/javascripts/controllers.js.coffee +++ b/app/assets/javascripts/controllers.js.coffee @@ -4,9 +4,12 @@ class Pettanr.AppController _.extend(this, Backbone.Events) @new2: (params, form, operators, gate) -> - c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller'] + c = @controller_by_name(params['controller']) new c(params, form, operators, gate) + @controller_by_name: (name) -> + Pettanr[Pettanr.camelize(name) + 'Controller'] + set_model: () -> @my_controller = Manifest.manifest().controllers[@params['controller']] @my_action = @my_controller.actions[@params['action']] diff --git a/app/assets/javascripts/controllers/artists.js.coffee b/app/assets/javascripts/controllers/artists.js.coffee index f81d3110..6c41681e 100644 --- a/app/assets/javascripts/controllers/artists.js.coffee +++ b/app/assets/javascripts/controllers/artists.js.coffee @@ -59,3 +59,12 @@ class Pettanr.ArtistsController extends Pettanr.AppController @trigger('redirect', '/home/configure') @trigger('success', model, response) + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/authors.js.coffee b/app/assets/javascripts/controllers/authors.js.coffee index 49a2f86f..b9f1b214 100644 --- a/app/assets/javascripts/controllers/authors.js.coffee +++ b/app/assets/javascripts/controllers/authors.js.coffee @@ -59,3 +59,12 @@ class Pettanr.AuthorsController extends Pettanr.AppController @trigger('redirect', '/home/configure') @trigger('success', model, response) + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/comic_stories.js.coffee b/app/assets/javascripts/controllers/comic_stories.js.coffee index 5737a200..9d892a91 100644 --- a/app/assets/javascripts/controllers/comic_stories.js.coffee +++ b/app/assets/javascripts/controllers/comic_stories.js.coffee @@ -72,3 +72,12 @@ class Pettanr.ComicStoriesController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/comics.js.coffee b/app/assets/javascripts/controllers/comics.js.coffee index c1b30dda..4513b250 100644 --- a/app/assets/javascripts/controllers/comics.js.coffee +++ b/app/assets/javascripts/controllers/comics.js.coffee @@ -85,3 +85,12 @@ class Pettanr.ComicsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/folders.js.coffee b/app/assets/javascripts/controllers/folders.js.coffee index aa49de50..15ac9d26 100644 --- a/app/assets/javascripts/controllers/folders.js.coffee +++ b/app/assets/javascripts/controllers/folders.js.coffee @@ -48,11 +48,7 @@ class Pettanr.FoldersController extends Pettanr.AppController show_html: () -> if @item.is_remote() - proxy = new Pettanr.Proxy({operators: @operators}) - @listenTo(proxy, 'ready', @refresh) - @listenTo(proxy, 'title', @title) - @listenTo(proxy, 'done', @done) - proxy.http_get(@item.remote_url()) + @trigger('other', @item.remote_url()) else @children_html() @@ -92,3 +88,15 @@ class Pettanr.FoldersController extends Pettanr.AppController done: (params) -> @trigger('done', params) + deny: (params, form, safe_url) -> + @trigger('deny', params, form, safe_url) + + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/license_groups.js.coffee b/app/assets/javascripts/controllers/license_groups.js.coffee index 908b149b..2abd4778 100644 --- a/app/assets/javascripts/controllers/license_groups.js.coffee +++ b/app/assets/javascripts/controllers/license_groups.js.coffee @@ -37,3 +37,12 @@ class Pettanr.LicenseGroupsController extends Pettanr.AppController @form_edit() @trigger('done', @params) + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/licenses.js.coffee b/app/assets/javascripts/controllers/licenses.js.coffee index 81d49ea2..a16e28a3 100644 --- a/app/assets/javascripts/controllers/licenses.js.coffee +++ b/app/assets/javascripts/controllers/licenses.js.coffee @@ -65,3 +65,12 @@ class Pettanr.LicensesController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/panels.js.coffee b/app/assets/javascripts/controllers/panels.js.coffee index 530b774e..4a901413 100644 --- a/app/assets/javascripts/controllers/panels.js.coffee +++ b/app/assets/javascripts/controllers/panels.js.coffee @@ -101,3 +101,12 @@ class Pettanr.PanelsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/scroll_panels.js.coffee b/app/assets/javascripts/controllers/scroll_panels.js.coffee index 41ece519..7de5298b 100644 --- a/app/assets/javascripts/controllers/scroll_panels.js.coffee +++ b/app/assets/javascripts/controllers/scroll_panels.js.coffee @@ -72,3 +72,12 @@ class Pettanr.ScrollPanelsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/scrolls.js.coffee b/app/assets/javascripts/controllers/scrolls.js.coffee index e2f2aef4..57a3d2ea 100644 --- a/app/assets/javascripts/controllers/scrolls.js.coffee +++ b/app/assets/javascripts/controllers/scrolls.js.coffee @@ -81,3 +81,12 @@ class Pettanr.ScrollsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/sheet_panels.js.coffee b/app/assets/javascripts/controllers/sheet_panels.js.coffee index 7ce69d13..957d3d35 100644 --- a/app/assets/javascripts/controllers/sheet_panels.js.coffee +++ b/app/assets/javascripts/controllers/sheet_panels.js.coffee @@ -72,3 +72,12 @@ class Pettanr.SheetPanelsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/sheets.js.coffee b/app/assets/javascripts/controllers/sheets.js.coffee index aed930d1..8d82207b 100644 --- a/app/assets/javascripts/controllers/sheets.js.coffee +++ b/app/assets/javascripts/controllers/sheets.js.coffee @@ -88,3 +88,12 @@ class Pettanr.SheetsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee b/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee index 3c860c2f..424771a0 100644 --- a/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee +++ b/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee @@ -65,3 +65,12 @@ class Pettanr.SpeechBalloonTemplatesController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/stories.js.coffee b/app/assets/javascripts/controllers/stories.js.coffee index 009938a9..4c0ec82b 100644 --- a/app/assets/javascripts/controllers/stories.js.coffee +++ b/app/assets/javascripts/controllers/stories.js.coffee @@ -90,3 +90,12 @@ class Pettanr.StoriesController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/story_sheets.js.coffee b/app/assets/javascripts/controllers/story_sheets.js.coffee index 728d5e04..deb88d12 100644 --- a/app/assets/javascripts/controllers/story_sheets.js.coffee +++ b/app/assets/javascripts/controllers/story_sheets.js.coffee @@ -72,3 +72,12 @@ class Pettanr.StorySheetsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/controllers/writing_formats.js.coffee b/app/assets/javascripts/controllers/writing_formats.js.coffee index d5dc13cd..97109458 100644 --- a/app/assets/javascripts/controllers/writing_formats.js.coffee +++ b/app/assets/javascripts/controllers/writing_formats.js.coffee @@ -60,3 +60,12 @@ class Pettanr.WritingFormatsController extends Pettanr.AppController @listenTo(@item, 'destroy:fail', @destroy_fail) @item.destroy() + @is_deny_action_on_picker: (params) -> + switch params['action'] + when 'new' + true + when 'edit' + true + else + false + diff --git a/app/assets/javascripts/editor/panel_editor.js.coffee b/app/assets/javascripts/editor/panel_editor.js.coffee index dd15a089..eaeba627 100644 --- a/app/assets/javascripts/editor/panel_editor.js.coffee +++ b/app/assets/javascripts/editor/panel_editor.js.coffee @@ -108,12 +108,12 @@ class Editor.PanelEditor.Dialog extends Backbone.View this.$el.append(view.el) getter_proxy: () -> - proxy = new Pettanr.Proxy({operators: @operators}) + proxy = new Pettanr.PickerProxy({operators: @operators}) @listenTo(proxy, 'ready', @ready) @listenTo(proxy, 'title', @title) @listenTo(proxy, 'title', @push_history) @listenTo(proxy, 'done', @done) - @listenTo(proxy, 'lock', @lock) + @listenTo(proxy, 'deny', @deny) proxy http_get: (url, form) -> @@ -133,8 +133,8 @@ class Editor.PanelEditor.Dialog extends Backbone.View done: (params) -> this.$el.dialog('open') - lock: (params) -> - console.log('_lock') + deny: (params, form, safe_url) -> + @getter_proxy().http_get(safe_url, params, form) push_history: (params, str = null) -> @history.push(params, str) diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee index c69d367f..f34bf97b 100644 --- a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee @@ -48,6 +48,7 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum proxy = new Pettanr.Proxy({operators: @filer().operators}) @listenTo(proxy, 'success', @remove_success) @listenTo(proxy, 'fail', @remove_fail) + @listenTo(proxy, 'deny', @remove_deny) proxy.http_post(@item.destroy_url()) remove_success: () -> @@ -56,3 +57,5 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum remove_fail: () -> @trigger('remove:fail') + remove_deny: () -> + diff --git a/app/assets/javascripts/pettanr.js.coffee b/app/assets/javascripts/pettanr.js.coffee index 818e1572..544c2502 100644 --- a/app/assets/javascripts/pettanr.js.coffee +++ b/app/assets/javascripts/pettanr.js.coffee @@ -77,9 +77,6 @@ class Pettanr @is_sns: () -> Manifest.manifest().magic_numbers.run_mode != 0 - @before_filter: (action_name, filter_action_names) -> - _.contains(filter_action_names, action_name) - class Pettanr.AppHelper @manifest: () -> Manifest.manifest diff --git a/app/assets/javascripts/pettanr/action_filter.js.coffee b/app/assets/javascripts/pettanr/action_filter.js.coffee index 141fcb2a..23b3c0f2 100644 --- a/app/assets/javascripts/pettanr/action_filter.js.coffee +++ b/app/assets/javascripts/pettanr/action_filter.js.coffee @@ -1,178 +1,256 @@ class Pettanr.ActionFilter - @suply_default: (reader, resource_reader, user, author) -> + # access block + # return sign in form if invalid url + # return null if url is valid + @test: (params, operators) -> + return @guest_url() if @is_deny('reader', params, operators) or @is_deny('resource_reader', params, operators) or @is_deny('user', params, operators) + return @new_author_url() if @is_deny('author', params, operators) + return @new_artist_url() if @is_deny('artist', params, operators) + null + + @filters: () -> + if Pettanr.is_sns() + @sns_filters() + else + @blog_filters() + + @my_filters: (role, params) -> + f = @filters() + c = f[params['controller']] || {} + r = c[role] + r + + @before_filter: (action_name, filter_action_names) -> + _.contains(filter_action_names, action_name) + + # return false if allow + # return true if deny + @is_deny: (role, params, operators) -> + n = 'is_' + role + if not operators[n]() # ex: operators.is_user() + filter = @my_filters(role, params) + if @before_filter(params['action'], filter) + return true + false + + @guest_url: () -> + 'user_seeeions/new' + + @new_author_url: () -> + 'authors/new' + + @new_artist_url: () -> + 'artists/new' + + @suply_default: (reader, resource_reader, user, author, artist) -> + author_filter = if _.isFunction(author) + author() + else + _.union(@default_author_filters, author) + artist_filter = if _.isFunction(artist) + artist() + else + _.union(@default_artist_filters, artist) { reader: _.union(@default_reader_filters, reader), resource_reader: _.union(@default_resource_reader_filters, resource_reader), user: _.union(@default_user_filters, user), - author: _.union(@default_author_filters, author) + author: author_filter, + artist: artist_filter } @default_reader_filters = ['index', 'show'] @default_resource_reader_filters = [] @default_user_filters = ['new', 'create', 'edit', 'update', 'destroy'] @default_author_filters = ['new', 'create', 'edit', 'update', 'destroy'] + @default_artist_filters = [] @sns_filters: () -> - default_reader_filters = ['index', 'show'] - default_resource_reader_filters = [] - default_user_filters = ['new', 'create', 'edit', 'update', 'destroy'] - default_author_filters = ['new', 'create', 'edit', 'update', 'destroy'] { folders: @suply_default( ['root', 'watch'], [], [], + [], [] ), scrolls: @suply_default( ['play', 'by_panel', 'by_author'], [], [], + [], [] ), scroll_panels: @suply_default( ['by_panel', 'by_scroll', 'by_author'], [], [], + [], [] ), comics: @suply_default( ['play', 'by_story', 'by_author'], [], [], + [], [] ), comic_stories: @suply_default( ['by_story', 'by_comic', 'by_author'], [], [], + [], [] ), stories: @suply_default( ['play', 'by_comic', 'by_sheet', 'by_author'], [], [], + [], [] ), story_sheets: @suply_default( ['by_story', 'by_sheet', 'by_author'], [], [], + [], [] ), sheets: @suply_default( ['play', 'by_story', 'by_panel', 'by_author'], [], [], + [], [] ), sheet_panels: @suply_default( ['by_panel', 'by_sheet', 'by_author'], [], [], + [], [] ), panels: @suply_default( ['by_scroll', 'by_sheet', 'by_author', 'by_speech_balloon_template'], [], [], + [], [] ), panel_pictures: @suply_default( ['by_panel', 'by_author'], [], [], + [], [] ), speech_balloons: @suply_default( ['by_panel', 'by_author', 'by_speech_balloon_template'], [], [], + [], [] ), speeches: @suply_default( ['by_author', 'by_speech_balloon', 'by_speech_balloon_template', 'by_writing_format'], [], [], + [], [] ), balloons: @suply_default( [], [], [], + [], [] ), ground_pictures: @suply_default( ['by_panel', 'by_author'], [], [], + [], [] ), ground_colors: @suply_default( ['by_panel', 'by_author'], [], [], + [], [] ), original_pictures: @suply_default( ['history'], [], [], - [] + [], + ['index', 'new', 'create', 'edit', 'update', 'destroy'] ), pictures: @suply_default( ['credit', 'search'], [], [], + [], [] ), resource_pictures: @suply_default( ['credit', 'by_original_picture', 'by_license_group', 'by_license', 'by_artist'], [], [], - [] + [], + ['new', 'create', 'edit', 'update', 'destroy'] ), speech_balloon_templates: @suply_default( ['by_panel', 'by_system_picture'], [], [], + [], [] ), writing_formats: @suply_default( ['by_system_picture'], [], [], + [], [] ), license_groups: @suply_default( ['by_resource_picture'], [], [], + [], [] ), licenses: @suply_default( ['by_license_group', 'by_system_picture'], [], [], + [], [] ), authors: @suply_default( [], [], [], + () -> + ['edit', 'update', 'destroy'] + , [] ), artists: @suply_default( [], [], [], - [] + [], + () -> + ['edit', 'update', 'destroy'] ), system_pictures: @suply_default( [], [], [], + [], [] ), home: @suply_default( @@ -186,6 +264,7 @@ class Pettanr.ActionFilter 'panels', 'panel_pictures', 'speech_balloons', 'balloons', 'speeches', 'ground_pictures', 'ground_colors' ], [], + [], [] ), } diff --git a/app/assets/javascripts/pettanr/proxy.js.coffee b/app/assets/javascripts/pettanr/proxy.js.coffee index c78d767b..2ef5195b 100644 --- a/app/assets/javascripts/pettanr/proxy.js.coffee +++ b/app/assets/javascripts/pettanr/proxy.js.coffee @@ -8,8 +8,6 @@ class Pettanr.Proxy local_router: (parsed_callback) -> local_router = new Pettanr.LocalRouter({operators: @operators}) @listenTo(local_router, 'go', parsed_callback) - @listenTo(local_router, 'deny', @deny) - @listenTo(local_router, 'cancel', @cancel) local_router http_get: (url, form) -> @@ -17,10 +15,13 @@ class Pettanr.Proxy get: (params, form) -> return if !@test(params, form) + return if !@filter(params, form) controller = Pettanr.AppController.new2(params, form, @operators, @gate) @listenTo(controller, 'ready', @ready) @listenTo(controller, 'title', @title) @listenTo(controller, 'done', @done) + @listenTo(controller, 'other', @other) + @listenTo(controller, 'deny', @remote_folder_deny) @listenTo(controller, 'lock', @lock) @listenTo(controller, 'unlock', @unlock) action_name = params['action'] @@ -40,8 +41,16 @@ class Pettanr.Proxy # blocking # back button event Backbone.history.navigate('/' + @gate.url(), {trigger: false}) + @trigger('cancel', params, form) false + filter: (params, form) -> + if safe_url = Pettanr.ActionFilter.test(params, @operators) + @trigger('deny', params, form, safe_url) + false + else + true + ready: (view) -> @trigger('ready', view) @@ -51,6 +60,9 @@ class Pettanr.Proxy done: (params) -> @trigger('done', params) + other: (url) -> + @local_router(@get).navigate(url) + lock: (params, form) -> @trigger('lock', params, form) @@ -60,8 +72,8 @@ class Pettanr.Proxy deny: (params, form, safe_url) -> @trigger('deny', params, form, safe_url) - cancel: () -> - @trigger('cancel') + remote_folder_deny: (params, form, safe_url) -> + @trigger('deny', params, form, safe_url) http_post: (url, form) -> @local_router(@post).navigate(url, form) @@ -93,3 +105,16 @@ class Pettanr.Proxy sign_out: () -> @trigger('sign_out') +class Pettanr.PickerProxy extends Pettanr.Proxy + + get: (params, form) -> + if @is_deny(params) + alert("editor can't open on pick window") + else + super(params, form) + + is_deny: (params) -> + c = Pettanr.AppController.controller_by_name(params['controller']) + return false if !c['is_deny_action_on_picker'] + c.is_deny_action_on_picker(params) + diff --git a/app/assets/javascripts/routes.js.coffee b/app/assets/javascripts/routes.js.coffee index e32d666a..be17bf30 100644 --- a/app/assets/javascripts/routes.js.coffee +++ b/app/assets/javascripts/routes.js.coffee @@ -80,46 +80,6 @@ class Pettanr.Router extends Backbone.Router else {} - filters: () -> - if Pettanr.is_sns() - Pettanr.ActionFilter.sns_filters() - else - Pettanr.ActionFilter.blog_filters() - - my_filters: (role, params) -> - f = @filters() - c = f[params['controller']] || {} - r = c[role] - r - - # return false if allow - # return true if deny - authenticate: (role, params) -> - n = 'is_' + role - if not @operators[n]() # ex: operators.is_user() - filter = @my_filters(role, params) - if Pettanr.before_filter(params['action'], filter) - return true - false - - # access block - # return sign in form if invalid url - # return null if url is valid - block: (params) -> - return @guest_url() if @authenticate('reader', params) or @authenticate('resource_reader', params) or @authenticate('user', params) - return @new_author_url() if @authenticate('author', params) - return @new_artist_url() if @authenticate('artist', params) - null - - guest_url: () -> - 'user_seeeions/new' - - new_author_url: () -> - 'authors/new' - - new_artist_url: () -> - 'artists/new' - # render App(render:all) home: () -> params = @home_params() @@ -135,10 +95,7 @@ class Pettanr.Router extends Backbone.Router # ex) scrolls/3/edit c_i_a: (controller, id, action, query_string, form) -> params = @c_i_a_params(controller, id, action, query_string) - if safe_url = @block(params) - @trigger('deny', params, form, safe_url) - else - @trigger('go', params, form) + @trigger('go', params, form) c_i_a_params: (controller, id, action, query_string) -> params = @parse_query_string(query_string) @@ -164,10 +121,7 @@ class Pettanr.Router extends Backbone.Router # ex) scrolls/3 c_i: (controller, id, query_string, form) -> params = @c_i_params(controller, id, query_string) - if safe_url = @block(params) - @trigger('deny', params, form, safe_url) - else - @trigger('go', params, form) + @trigger('go', params, form) c_i_params: (controller, id, query_string) -> params = @parse_query_string(query_string) @@ -191,10 +145,7 @@ class Pettanr.Router extends Backbone.Router # ex) scrolls c: (controller, query_string, form) -> params = @c_params(controller, query_string) - if safe_url = @block(params) - @trigger('deny', params, form, safe_url) - else - @trigger('go', params, form) + @trigger('go', params, form) c_params: (controller, query_string) -> params = @parse_query_string(query_string) @@ -205,10 +156,7 @@ class Pettanr.Router extends Backbone.Router top_a: (action, query_string, form) -> params = @users_a_params(action, query_string) - if safe_url = @block(params) - @trigger('deny', params, safe_url) - else - @trigger('go', params, form) + @trigger('go', params, form) top_a_params: (action, query_string) -> params = @parse_query_string(query_string) @@ -219,10 +167,7 @@ class Pettanr.Router extends Backbone.Router user_sessions_a: (action, query_string, form) -> params = @user_sessions_a_params(action, query_string) - if safe_url = @block(params) - @trigger('deny', params, safe_url) - else - @trigger('go', params, form) + @trigger('go', params, form) user_sessions_a_params: (action, query_string) -> params = @parse_query_string(query_string) @@ -233,10 +178,7 @@ class Pettanr.Router extends Backbone.Router users_a: (action, query_string, form) -> params = @users_a_params(action, query_string) - if safe_url = @block(params) - @trigger('deny', params, safe_url) - else - @trigger('go', params, form) + @trigger('go', params, form) users_a_params: (action, query_string) -> params = @parse_query_string(query_string) diff --git a/app/assets/javascripts/views/layout.js.coffee b/app/assets/javascripts/views/layout.js.coffee index aff7337c..5c891dfb 100644 --- a/app/assets/javascripts/views/layout.js.coffee +++ b/app/assets/javascripts/views/layout.js.coffee @@ -93,8 +93,10 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base @listenTo(proxy, 'title', @body_title) @listenTo(proxy, 'title', @push_history) @listenTo(proxy, 'done', @body_done) + @listenTo(proxy, 'deny', @body_deny) @listenTo(proxy, 'lock', @body_lock) @listenTo(proxy, 'unlock', @body_unlock) + @listenTo(proxy, 'cancel', @cancel) proxy body_http_get: (url, form) -> @@ -127,6 +129,7 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base @listenTo(proxy, 'redirect', @body_redirect) @listenTo(proxy, 'sign_in', @sign_in) @listenTo(proxy, 'sign_out', @sign_out) + @listenTo(proxy, 'deny', @body_deny) @listenTo(proxy, 'unlock', @body_unlock) proxy @@ -146,12 +149,17 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base @global_router.navigate(url) @getter_proxy().http_get(url) + body_deny: (params, form, safe_url) -> + @getter_proxy().http_get(safe_url, params, form) + body_lock: (params, form) -> @gate.lock(params, form) body_unlock: (params, form) -> @gate.unlock() + cancel: (params, form) -> + class Pettanr.Views.Layout.Blog extends Pettanr.Views.Layout.Base className: 'layout-blog'