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 +4 -4
- data/app/controllers/collavre_notion/creatives/notion_integrations_controller.rb +3 -13
- data/app/controllers/collavre_notion/notion_auth_controller.rb +2 -18
- data/app/views/collavre_notion/notion_auth/callback_success.html.erb +16 -0
- data/lib/collavre_notion/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82a44e06e55077d361a1368d57f752e817189741623eb271692511f9ce86dd62
|
|
4
|
+
data.tar.gz: 73d427435660609081b8884b563467af4e672f24dcf0082b5f33e34ce46cb224
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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:
|
|
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
|
-
|
|
26
|
-
|
|
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>
|
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.
|
|
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
|