collavre_notion 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d998584e2f1dab6b3fc6232c70f5990d7d1f5e832e2b82d88d20ae3831adbb7
4
- data.tar.gz: 807c15cac07e50ecd25ff7f7ad308dd550693d20a514c012c6460b24df0e290f
3
+ metadata.gz: 82a44e06e55077d361a1368d57f752e817189741623eb271692511f9ce86dd62
4
+ data.tar.gz: 73d427435660609081b8884b563467af4e672f24dcf0082b5f33e34ce46cb224
5
5
  SHA512:
6
- metadata.gz: 3ca865c81a3beffe888deaed1f252c301502416e669bdade8d4506deb1566bc057fd2afcffa4015f38c8de7c2bf0f23c182d756db8729a98b52795da22a1fb24
7
- data.tar.gz: a81bcbf00b5bc22e524c37967a6a54af0ac54d90e149f8fabcee5137f9130801ce9fa0791f805594c21587346fae51790ffa53b6ad5e87b781350bc3d6764023
6
+ metadata.gz: f14d19445c41a6e9260affa911f1d5d881d9cb4e0483e6a92a64609632148b93106ba0e77bae84e80e476c7423213e69b6cee7c59d3bf7ad8dc265f48e0c68c3
7
+ data.tar.gz: 51b0ae5610f5294d3a56d7e10ec7b9e1bc0a41d4c820dffabd33d33825987d8079c52fa7042091b650f9128e75e6423fe5957fb0d514ebe81a773c4675f96823
@@ -1,6 +1,8 @@
1
1
  module CollavreNotion
2
2
  module Creatives
3
3
  class NotionIntegrationsController < ApplicationController
4
+ include Collavre::IntegrationPermission
5
+
4
6
  before_action :set_creative
5
7
  before_action :ensure_read_permission
6
8
  before_action :ensure_admin_permission, only: [ :show, :update ]
@@ -78,7 +80,7 @@ module CollavreNotion
78
80
 
79
81
  def destroy
80
82
  unless @creative.has_permission?(Current.user, :write)
81
- render json: { error: "forbidden" }, status: :forbidden
83
+ render json: { error: integration_forbidden_message }, status: :forbidden
82
84
  return
83
85
  end
84
86
 
@@ -124,18 +126,6 @@ module CollavreNotion
124
126
  @creative = Collavre::Creative.find(params[:creative_id])
125
127
  end
126
128
 
127
- def ensure_read_permission
128
- return if @creative.has_permission?(Current.user, :read)
129
-
130
- render json: { error: "forbidden" }, status: :forbidden
131
- end
132
-
133
- def ensure_admin_permission
134
- return if @creative.has_permission?(Current.user, :admin)
135
-
136
- render json: { error: "forbidden" }, status: :forbidden
137
- end
138
-
139
129
  def linked_page_links(account)
140
130
  return CollavreNotion::NotionPageLink.none unless account
141
131
 
@@ -22,24 +22,8 @@ module CollavreNotion
22
22
  # If opened in popup, close it and notify parent window
23
23
  if params[:popup] || request.referer&.include?("popup=true") || session[:oauth_popup]
24
24
  session.delete(:oauth_popup)
25
- render html: <<-HTML.html_safe
26
- <!DOCTYPE html>
27
- <html>
28
- <head><title>Notion Connected</title></head>
29
- <body>
30
- <script>
31
- if (window.opener) {
32
- window.opener.postMessage({ type: 'notion_oauth_success', connected: true }, '*');
33
- window.close();
34
- } else {
35
- window.location.href = '#{collavre.creatives_path}';
36
- }
37
- </script>
38
- <p>#{I18n.t("collavre_notion.notion_auth.connected")}</p>
39
- <p>This window should close automatically. If not, you can close it manually.</p>
40
- </body>
41
- </html>
42
- HTML
25
+ @fallback_path = collavre.creatives_path
26
+ render template: "collavre_notion/notion_auth/callback_success", layout: false
43
27
  else
44
28
  redirect_to collavre.creatives_path, notice: I18n.t("collavre_notion.notion_auth.connected")
45
29
  end
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head><title>Notion Connected</title></head>
4
+ <body>
5
+ <script>
6
+ if (window.opener) {
7
+ window.opener.postMessage({ type: 'notion_oauth_success', connected: true }, window.location.origin);
8
+ window.close();
9
+ } else {
10
+ window.location.href = '<%= @fallback_path %>';
11
+ }
12
+ </script>
13
+ <p><%= t("collavre_notion.notion_auth.connected") %></p>
14
+ <p>This window should close automatically. If not, you can close it manually.</p>
15
+ </body>
16
+ </html>
@@ -1,3 +1,3 @@
1
1
  module CollavreNotion
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: collavre_notion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Collavre
@@ -74,6 +74,7 @@ files:
74
74
  - app/services/collavre_notion/notion_creative_exporter.rb
75
75
  - app/services/collavre_notion/notion_service.rb
76
76
  - app/views/collavre_notion/integrations/_modal.html.erb
77
+ - app/views/collavre_notion/notion_auth/callback_success.html.erb
77
78
  - config/locales/en.yml
78
79
  - config/locales/ko.yml
79
80
  - config/routes.rb