From 8b6d5a073c9efade47ae6e0ee897d71defa85a1d Mon Sep 17 00:00:00 2001 From: yasushiito Date: Wed, 5 Aug 2015 16:36:17 +0900 Subject: [PATCH] fix: suport yasapp oauth --- .../controllers/user_sessions.js.coffee | 5 +++++ app/assets/javascripts/controllers/users.js.coffee | 2 +- .../caption/default/link/url_column.js.coffee | 4 +--- app/assets/javascripts/main.js.coffee | 4 ++-- app/assets/javascripts/view/credit.js.coffee | 3 +++ app/assets/javascripts/view/layout.js.coffee | 6 ++++-- app/assets/javascripts/view/link.js.coffee | 23 ++++++++++++++++++++++ .../javascripts/views/user_sessions/end.js.coffee | 9 +++++++++ .../javascripts/views/users/account.js.coffee | 12 ++++------- app/controllers/top_controller.rb | 2 +- app/models/picture.rb | 1 + app/views/layouts/yasapp.html.erb | 22 ++++++++++++++++++++- 12 files changed, 75 insertions(+), 18 deletions(-) create mode 100644 app/assets/javascripts/view/link.js.coffee create mode 100644 app/assets/javascripts/views/user_sessions/end.js.coffee diff --git a/app/assets/javascripts/controllers/user_sessions.js.coffee b/app/assets/javascripts/controllers/user_sessions.js.coffee index 5295766d..395aee7e 100644 --- a/app/assets/javascripts/controllers/user_sessions.js.coffee +++ b/app/assets/javascripts/controllers/user_sessions.js.coffee @@ -6,3 +6,8 @@ class Pettanr.UserSessionsController extends Pettanr.AppController view.render() @trigger('ready', view) + end: () -> + view = new Pettanr.Views.UserSeeeion.End({}) + view.render() + @trigger('ready', view) + diff --git a/app/assets/javascripts/controllers/users.js.coffee b/app/assets/javascripts/controllers/users.js.coffee index 154fc609..b8757258 100644 --- a/app/assets/javascripts/controllers/users.js.coffee +++ b/app/assets/javascripts/controllers/users.js.coffee @@ -42,7 +42,7 @@ class Pettanr.UsersController extends Pettanr.AppController sign_out_success: (user, response) -> @trigger('success', user, response) @trigger('sign_out') - @trigger('redirect', 'user_sessions/new') + @trigger('redirect', 'user_sessions/end') sign_out_fail: (user, response) -> @trigger('fail', response) diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee index 567dd93d..58e8b93f 100644 --- a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee @@ -10,9 +10,7 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemCo button: (caption, context) -> url = @url() - new Tag.A_({ - attr: {href: url}, - content: caption + new Pettanr.View.Link(url, caption, { }) url: () -> diff --git a/app/assets/javascripts/main.js.coffee b/app/assets/javascripts/main.js.coffee index 97981186..dc06e178 100644 --- a/app/assets/javascripts/main.js.coffee +++ b/app/assets/javascripts/main.js.coffee @@ -24,8 +24,8 @@ $ -> loaded_manifest.init() loaded_local_manifest.init() - window.onbeforeunload = (e)-> - return('leave?') + #window.onbeforeunload = (e)-> + # return('leave?') Backbone.history.start({silent: true, pushState: true, root: '/'}) Pettanr.cache = new Pettanr.Cache({operators: new Pettanr.Operator({})}) diff --git a/app/assets/javascripts/view/credit.js.coffee b/app/assets/javascripts/view/credit.js.coffee index dd83880c..9a6769d2 100644 --- a/app/assets/javascripts/view/credit.js.coffee +++ b/app/assets/javascripts/view/credit.js.coffee @@ -46,6 +46,9 @@ class Pettanr.View.Credit.Data extends Pettanr.View append_credit_data: () -> this.$el.html('') this.$el.append(@item.credit_data) + this.$el.map -> + $(@).click -> + confirm('leave?') @append_rb() class Pettanr.View.Credit.Icon extends Pettanr.View diff --git a/app/assets/javascripts/view/layout.js.coffee b/app/assets/javascripts/view/layout.js.coffee index 33052a50..24c1b844 100644 --- a/app/assets/javascripts/view/layout.js.coffee +++ b/app/assets/javascripts/view/layout.js.coffee @@ -54,7 +54,7 @@ class Pettanr.View.Layout.Sns extends Pettanr.View.Layout.Base test_ng: (response) -> @history.disable() - @head_http_get('users/guest') + # @head_http_get('users/guest') @body_http_get('user_sessions/new') test_redirect: (url) -> @@ -70,8 +70,10 @@ class Pettanr.View.Layout.Sns extends Pettanr.View.Layout.Base sign_out: () -> @reset_operators() - @head_http_get('users/guest') + @header.remove() + #@head_http_get('user_sessions/end') @history.disable() + window.location='/' head_http_get: (url) -> proxy = new Pettanr.Proxy({}) diff --git a/app/assets/javascripts/view/link.js.coffee b/app/assets/javascripts/view/link.js.coffee new file mode 100644 index 00000000..acbbef37 --- /dev/null +++ b/app/assets/javascripts/view/link.js.coffee @@ -0,0 +1,23 @@ +class Pettanr.View.Link extends Tag.A + + constructor: (@url, @content, options) -> + super(options) + + initialize: (options) -> + @class_name = options.class_name + super({ + attr: {href: @url}, + class_name: @class_name, + content: @content + }) + + render: () -> + super() + this + + click: () -> + if confirm('leave?') + return true + else + return false + diff --git a/app/assets/javascripts/views/user_sessions/end.js.coffee b/app/assets/javascripts/views/user_sessions/end.js.coffee new file mode 100644 index 00000000..60f25ee6 --- /dev/null +++ b/app/assets/javascripts/views/user_sessions/end.js.coffee @@ -0,0 +1,9 @@ +class Pettanr.Views.UserSeeeion.End extends Pettanr.View + tagName: 'div' + + initialize: (options) -> + + render: () -> + this.$el.html('Sign out') + this + diff --git a/app/assets/javascripts/views/users/account.js.coffee b/app/assets/javascripts/views/users/account.js.coffee index 45801afc..34f44a7f 100644 --- a/app/assets/javascripts/views/users/account.js.coffee +++ b/app/assets/javascripts/views/users/account.js.coffee @@ -37,19 +37,15 @@ class Pettanr.Views.User.Account extends Pettanr.View @listenTo(@quick, 'click:mydoc', @click_mydoc) @listenTo(@quick, 'click:mynew', @click_mynew) this.$el.append(@quick.render().el) - sign_out = new Tag.A({ - attr: {href: '/users/sign_out'}, + sign_out = new Pettanr.View.Button('/users/sign_out', 'sign out', { + context: this, + click: () => + @trigger('http_post', 'users/sign_out') class_name: 'sign_out', - content: 'sign out' }) - @listenTo(sign_out, 'click', @sign_out_click) this.$el.append(sign_out.render().el) this - sign_out_click: () -> - @trigger('http_post', 'users/sign_out') - return false - click_mydoc: (url) -> @trigger('http_get', url) return false diff --git a/app/controllers/top_controller.rb b/app/controllers/top_controller.rb index 14f8f15a..9747cb61 100644 --- a/app/controllers/top_controller.rb +++ b/app/controllers/top_controller.rb @@ -3,7 +3,7 @@ class TopController < ApplicationController before_action :authenticate_user, :only => [] before_action :authenticate_author, :only => [] else - before_action :authenticate_reader, :only => []#[:index] + before_action :authenticate_reader, :only => [:index] before_action :authenticate_user, :only => [] before_action :authenticate_author, :only => [] end diff --git a/app/models/picture.rb b/app/models/picture.rb index 23710672..d147a1fc 100644 --- a/app/models/picture.rb +++ b/app/models/picture.rb @@ -34,6 +34,7 @@ class Picture < Peta::Content scope :find_by_md5_without_original_picture, -> (md5, original_picture_id) do self.find_by_md5(md5).where.not(original_picture_id: original_picture_id).order(updated_at: :desc) + end scope :find_by_original_picture, -> (original_picture_id) do find_index.where(original_picture_id: original_picture_id) diff --git a/app/views/layouts/yasapp.html.erb b/app/views/layouts/yasapp.html.erb index 8e0c3669..8d90e8a9 100644 --- a/app/views/layouts/yasapp.html.erb +++ b/app/views/layouts/yasapp.html.erb @@ -24,7 +24,27 @@