pages_core 3.15.0 → 3.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/app/assets/builds/fonts/6569749d.ttf +0 -0
- data/app/assets/builds/fonts/7b7db107.woff2 +0 -0
- data/app/assets/builds/fonts/921961e9.woff2 +0 -0
- data/app/assets/builds/fonts/ee32bc60.ttf +0 -0
- data/app/assets/builds/pages_core/admin-dist.js +1 -1
- data/app/assets/builds/pages_core/admin-dist.js.map +3 -3
- data/app/assets/builds/pages_core/admin.css +26 -14
- data/app/assets/builds/pages_core/mailer.css +99 -0
- data/app/assets/stylesheets/pages_core/admin/components/forms.css +3 -1
- data/app/assets/stylesheets/pages_core/mailer.css +90 -0
- data/app/controllers/admin/pages_controller.rb +1 -1
- data/app/helpers/pages_core/attachments_helper.rb +1 -1
- data/app/javascript/components/PageForm.tsx +6 -0
- data/app/mailers/admin_mailer.rb +5 -9
- data/app/models/autopublisher.rb +1 -1
- data/app/models/concerns/pages_core/page_model/dated_page.rb +3 -3
- data/app/models/concerns/pages_core/taggable.rb +2 -19
- data/app/views/admin_mailer/account_recovery.html.erb +20 -0
- data/app/views/admin_mailer/invite.html.erb +11 -0
- data/app/views/layouts/pages_core/mailer.html.erb +11 -0
- data/lib/pages_core/engine.rb +1 -0
- data/lib/pages_core.rb +1 -0
- metadata +26 -9
- data/app/assets/builds/fonts/2a3059ad.ttf +0 -0
- data/app/assets/builds/fonts/47262711.woff2 +0 -0
- data/app/assets/builds/fonts/500ddeb0.woff2 +0 -0
- data/app/assets/builds/fonts/81221036.ttf +0 -0
- data/app/views/admin_mailer/account_recovery.text.erb +0 -10
- data/app/views/admin_mailer/invite.text.erb +0 -7
- /data/app/assets/stylesheets/pages_core/{admin.postcss.css → admin.css} +0 -0
@@ -543,9 +543,9 @@ template {
|
|
543
543
|
margin-left: -7px; } }
|
544
544
|
|
545
545
|
/*!
|
546
|
-
* Font Awesome Free 6.
|
546
|
+
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
|
547
547
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
548
|
-
* Copyright
|
548
|
+
* Copyright 2024 Fonticons, Inc.
|
549
549
|
*/
|
550
550
|
|
551
551
|
.fa {
|
@@ -903,8 +903,8 @@ template {
|
|
903
903
|
transform: scale(-1, -1); }
|
904
904
|
|
905
905
|
.fa-rotate-by {
|
906
|
-
transform: rotate(
|
907
|
-
transform: rotate(var(--fa-rotate-angle,
|
906
|
+
transform: rotate(0);
|
907
|
+
transform: rotate(var(--fa-rotate-angle, 0)); }
|
908
908
|
|
909
909
|
.fa-stack {
|
910
910
|
display: inline-block;
|
@@ -3210,6 +3210,9 @@ readers do not read off random characters that represent icons */
|
|
3210
3210
|
.fa-italic::before {
|
3211
3211
|
content: "\f033"; }
|
3212
3212
|
|
3213
|
+
.fa-table-cells-column-lock::before {
|
3214
|
+
content: "\e678"; }
|
3215
|
+
|
3213
3216
|
.fa-church::before {
|
3214
3217
|
content: "\f51d"; }
|
3215
3218
|
|
@@ -5382,6 +5385,9 @@ readers do not read off random characters that represent icons */
|
|
5382
5385
|
.fa-font::before {
|
5383
5386
|
content: "\f031"; }
|
5384
5387
|
|
5388
|
+
.fa-table-cells-row-lock::before {
|
5389
|
+
content: "\e67a"; }
|
5390
|
+
|
5385
5391
|
.fa-rupiah-sign::before {
|
5386
5392
|
content: "\e23d"; }
|
5387
5393
|
|
@@ -6411,9 +6417,6 @@ readers do not read off random characters that represent icons */
|
|
6411
6417
|
.fa-share::before {
|
6412
6418
|
content: "\f064"; }
|
6413
6419
|
|
6414
|
-
.fa-arrow-turn-right::before {
|
6415
|
-
content: "\f064"; }
|
6416
|
-
|
6417
6420
|
.fa-mail-forward::before {
|
6418
6421
|
content: "\f064"; }
|
6419
6422
|
|
@@ -6814,9 +6817,9 @@ readers do not read off random characters that represent icons */
|
|
6814
6817
|
border-width: 0; }
|
6815
6818
|
|
6816
6819
|
/*!
|
6817
|
-
* Font Awesome Free 6.
|
6820
|
+
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
|
6818
6821
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
6819
|
-
* Copyright
|
6822
|
+
* Copyright 2024 Fonticons, Inc.
|
6820
6823
|
*/
|
6821
6824
|
|
6822
6825
|
:root, :host {
|
@@ -6827,16 +6830,16 @@ readers do not read off random characters that represent icons */
|
|
6827
6830
|
font-style: normal;
|
6828
6831
|
font-weight: 900;
|
6829
6832
|
font-display: block;
|
6830
|
-
src: url("../fonts/
|
6833
|
+
src: url("../fonts/7b7db107.woff2") format("woff2"), url("../fonts/6569749d.ttf") format("truetype"); }
|
6831
6834
|
|
6832
6835
|
.fas,
|
6833
6836
|
.fa-solid {
|
6834
6837
|
font-weight: 900; }
|
6835
6838
|
|
6836
6839
|
/*!
|
6837
|
-
* Font Awesome Free 6.
|
6840
|
+
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
|
6838
6841
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
6839
|
-
* Copyright
|
6842
|
+
* Copyright 2024 Fonticons, Inc.
|
6840
6843
|
*/
|
6841
6844
|
|
6842
6845
|
:root, :host {
|
@@ -6848,7 +6851,7 @@ readers do not read off random characters that represent icons */
|
|
6848
6851
|
font-style: normal;
|
6849
6852
|
font-weight: 400;
|
6850
6853
|
font-display: block;
|
6851
|
-
src: url("../fonts/
|
6854
|
+
src: url("../fonts/921961e9.woff2") format("woff2"), url("../fonts/ee32bc60.ttf") format("truetype"); }
|
6852
6855
|
|
6853
6856
|
.far,
|
6854
6857
|
.fa-regular {
|
@@ -7521,7 +7524,7 @@ form .field .date-select {
|
|
7521
7524
|
}
|
7522
7525
|
|
7523
7526
|
form .field .date-select .time {
|
7524
|
-
width:
|
7527
|
+
width: 5rem;
|
7525
7528
|
min-width: 2rem;
|
7526
7529
|
}
|
7527
7530
|
|
@@ -7788,8 +7791,17 @@ form.button-to {
|
|
7788
7791
|
display: flex;
|
7789
7792
|
flex-wrap: wrap;
|
7790
7793
|
gap: 0.25rem;
|
7794
|
+
margin-top: 2rem;
|
7791
7795
|
}
|
7792
7796
|
|
7797
|
+
.buttons:first-child {
|
7798
|
+
margin-top: 0px;
|
7799
|
+
}
|
7800
|
+
|
7801
|
+
.buttons:last-child {
|
7802
|
+
margin-bottom: 0px;
|
7803
|
+
}
|
7804
|
+
|
7793
7805
|
.inline-form {
|
7794
7806
|
display: flex;
|
7795
7807
|
}
|
@@ -0,0 +1,99 @@
|
|
1
|
+
body,
|
2
|
+
input,
|
3
|
+
textarea,
|
4
|
+
a.button,
|
5
|
+
a.button:visited,
|
6
|
+
button {
|
7
|
+
font-family: -apple-system, BlinkMacSystemFont, Calibri, sans-serif;
|
8
|
+
color: #111;
|
9
|
+
}
|
10
|
+
|
11
|
+
body {
|
12
|
+
font-size: 1rem;
|
13
|
+
padding: 2rem;
|
14
|
+
}
|
15
|
+
|
16
|
+
h1,
|
17
|
+
h2,
|
18
|
+
h3,
|
19
|
+
h4,
|
20
|
+
h5,
|
21
|
+
h6,
|
22
|
+
ul,
|
23
|
+
ol,
|
24
|
+
p {
|
25
|
+
max-width: 80ch;
|
26
|
+
margin: 0 0 1rem 0;
|
27
|
+
}
|
28
|
+
|
29
|
+
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, ul:last-child, ol:last-child, p:last-child {
|
30
|
+
margin-bottom: 0rem;
|
31
|
+
}
|
32
|
+
|
33
|
+
h1 {
|
34
|
+
font-size: 2rem;
|
35
|
+
margin-top: 2rem;
|
36
|
+
}
|
37
|
+
|
38
|
+
h1:first-child {
|
39
|
+
margin-top: 0rem;
|
40
|
+
}
|
41
|
+
|
42
|
+
a,
|
43
|
+
a:visited {
|
44
|
+
color: #1d7195;
|
45
|
+
}
|
46
|
+
|
47
|
+
a:hover,
|
48
|
+
a:focus {
|
49
|
+
color: #15516a;
|
50
|
+
}
|
51
|
+
|
52
|
+
button,
|
53
|
+
a.button {
|
54
|
+
-webkit-appearance: none;
|
55
|
+
-moz-appearance: none;
|
56
|
+
appearance: none;
|
57
|
+
cursor: inherit;
|
58
|
+
font-size: 1rem;
|
59
|
+
line-height: 1.5;
|
60
|
+
border: 1px solid #aaa;
|
61
|
+
border-radius: 5px;
|
62
|
+
padding: 0.5em 0.75em;
|
63
|
+
background: #e8e8e8;
|
64
|
+
box-shadow: inset 0px 0.75em 0.75em rgba(255, 255, 255, 0.25);
|
65
|
+
-webkit-text-decoration: none;
|
66
|
+
text-decoration: none;
|
67
|
+
}
|
68
|
+
|
69
|
+
button.primary, a.button.primary {
|
70
|
+
background: #111;
|
71
|
+
border-color: #111;
|
72
|
+
color: #fff;
|
73
|
+
box-shadow: inset 0px 0.75em 0.75em rgba(255, 255, 255, 0.2);
|
74
|
+
}
|
75
|
+
|
76
|
+
button.primary:hover, a.button.primary:hover {
|
77
|
+
box-shadow: inset 0px 0.75em 0.75em rgba(255, 255, 255, 0.1);
|
78
|
+
}
|
79
|
+
|
80
|
+
.buttons,
|
81
|
+
table {
|
82
|
+
margin: 1.5rem 0;
|
83
|
+
}
|
84
|
+
|
85
|
+
.buttons:last-child, table:last-child {
|
86
|
+
margin-bottom: 0px;
|
87
|
+
}
|
88
|
+
|
89
|
+
table {
|
90
|
+
border-collapse: collapse;
|
91
|
+
border-top: 1px solid #ddd;
|
92
|
+
}
|
93
|
+
|
94
|
+
table th,
|
95
|
+
table td {
|
96
|
+
text-align: left;
|
97
|
+
padding: 0.5rem 1rem 0.5rem 0;
|
98
|
+
border-bottom: 1px solid #ddd;
|
99
|
+
}
|
@@ -13,7 +13,7 @@ form {
|
|
13
13
|
gap: 4px;
|
14
14
|
flex-wrap: wrap;
|
15
15
|
.time {
|
16
|
-
width:
|
16
|
+
width: 5rem;
|
17
17
|
min-width: 2rem;
|
18
18
|
}
|
19
19
|
}
|
@@ -259,6 +259,8 @@ form.button-to {
|
|
259
259
|
display: flex;
|
260
260
|
flex-wrap: wrap;
|
261
261
|
gap: 0.25rem;
|
262
|
+
margin-top: 2rem;
|
263
|
+
@mixin child-margins;
|
262
264
|
}
|
263
265
|
|
264
266
|
.inline-form {
|
@@ -0,0 +1,90 @@
|
|
1
|
+
body,
|
2
|
+
input,
|
3
|
+
textarea,
|
4
|
+
a.button,
|
5
|
+
a.button:visited,
|
6
|
+
button {
|
7
|
+
font-family: -apple-system, BlinkMacSystemFont, Calibri, sans-serif;
|
8
|
+
color: #111;
|
9
|
+
}
|
10
|
+
|
11
|
+
body {
|
12
|
+
font-size: 1rem;
|
13
|
+
padding: 2rem;
|
14
|
+
}
|
15
|
+
|
16
|
+
h1,
|
17
|
+
h2,
|
18
|
+
h3,
|
19
|
+
h4,
|
20
|
+
h5,
|
21
|
+
h6,
|
22
|
+
ul,
|
23
|
+
ol,
|
24
|
+
p {
|
25
|
+
max-width: 80ch;
|
26
|
+
margin: 0 0 1rem 0;
|
27
|
+
&:last-child {
|
28
|
+
margin-bottom: 0rem;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
h1 {
|
33
|
+
font-size: 2rem;
|
34
|
+
margin-top: 2rem;
|
35
|
+
&:first-child {
|
36
|
+
margin-top: 0rem;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
a,
|
41
|
+
a:visited {
|
42
|
+
color: #1d7195;
|
43
|
+
}
|
44
|
+
a:hover,
|
45
|
+
a:focus {
|
46
|
+
color: #15516a;
|
47
|
+
}
|
48
|
+
|
49
|
+
button,
|
50
|
+
a.button {
|
51
|
+
appearance: none;
|
52
|
+
cursor: inherit;
|
53
|
+
font-size: 1rem;
|
54
|
+
line-height: 1.5;
|
55
|
+
border: 1px solid #aaa;
|
56
|
+
border-radius: 5px;
|
57
|
+
padding: 0.5em 0.75em;
|
58
|
+
background: #e8e8e8;
|
59
|
+
box-shadow: inset 0px 0.75em 0.75em rgba(255, 255, 255, 0.25);
|
60
|
+
text-decoration: none;
|
61
|
+
|
62
|
+
&.primary {
|
63
|
+
background: #111;
|
64
|
+
border-color: #111;
|
65
|
+
color: #fff;
|
66
|
+
box-shadow: inset 0px 0.75em 0.75em rgba(255, 255, 255, 0.2);
|
67
|
+
&:hover {
|
68
|
+
box-shadow: inset 0px 0.75em 0.75em rgba(255, 255, 255, 0.1);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
.buttons,
|
74
|
+
table {
|
75
|
+
margin: 1.5rem 0;
|
76
|
+
&:last-child {
|
77
|
+
margin-bottom: 0px;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
table {
|
82
|
+
border-collapse: collapse;
|
83
|
+
border-top: 1px solid #ddd;
|
84
|
+
th,
|
85
|
+
td {
|
86
|
+
text-align: left;
|
87
|
+
padding: 0.5rem 1rem 0.5rem 0;
|
88
|
+
border-bottom: 1px solid #ddd;
|
89
|
+
}
|
90
|
+
}
|
@@ -82,6 +82,11 @@ export default function PageForm(props: Props) {
|
|
82
82
|
});
|
83
83
|
};
|
84
84
|
|
85
|
+
const clearDeletedObjects = () => {
|
86
|
+
filesState.setDeleted([]);
|
87
|
+
imagesState.setDeleted([]);
|
88
|
+
};
|
89
|
+
|
85
90
|
const handleSubmit = (evt: React.MouseEvent) => {
|
86
91
|
evt.preventDefault();
|
87
92
|
let method = postJson;
|
@@ -105,6 +110,7 @@ export default function PageForm(props: Props) {
|
|
105
110
|
if (response.errors && response.errors.length > 0) {
|
106
111
|
errorToast("A validation error prevented the page from being saved.");
|
107
112
|
} else {
|
113
|
+
clearDeletedObjects();
|
108
114
|
noticeToast("Your changes were saved");
|
109
115
|
}
|
110
116
|
})
|
data/app/mailers/admin_mailer.rb
CHANGED
@@ -2,23 +2,19 @@
|
|
2
2
|
|
3
3
|
class AdminMailer < ApplicationMailer
|
4
4
|
default from: proc { "\"Pages\" <no-reply@anyone.no>" }
|
5
|
-
layout
|
5
|
+
layout "pages_core/mailer"
|
6
6
|
|
7
7
|
def account_recovery(user, url)
|
8
8
|
@user = user
|
9
9
|
@url = url
|
10
|
-
mail(
|
11
|
-
|
12
|
-
subject: "Recover your account on #{PagesCore.config(:site_name)}"
|
13
|
-
)
|
10
|
+
mail(to: @user.email,
|
11
|
+
subject: "Recover your account on #{PagesCore.config(:site_name)}")
|
14
12
|
end
|
15
13
|
|
16
14
|
def invite(invite, url)
|
17
15
|
@invite = invite
|
18
16
|
@url = url
|
19
|
-
mail(
|
20
|
-
|
21
|
-
subject: "#{PagesCore.config(:site_name)} has invited you to Pages"
|
22
|
-
)
|
17
|
+
mail(to: @invite.email,
|
18
|
+
subject: "#{PagesCore.config(:site_name)} has invited you to Pages")
|
23
19
|
end
|
24
20
|
end
|
data/app/models/autopublisher.rb
CHANGED
@@ -10,7 +10,7 @@ module PagesCore
|
|
10
10
|
before_validation :ensure_ends_at
|
11
11
|
|
12
12
|
scope :upcoming, -> { where("ends_at > ?", Time.zone.now) }
|
13
|
-
scope :past, -> { where(
|
13
|
+
scope :past, -> { where(ends_at: ..Time.zone.now) }
|
14
14
|
scope :with_dates, -> { where.not(starts_at: nil) }
|
15
15
|
end
|
16
16
|
|
@@ -57,13 +57,13 @@ module PagesCore
|
|
57
57
|
# Finds the page's next sibling by date. Returns nil if there
|
58
58
|
# isn't one.
|
59
59
|
def next_sibling_by_date
|
60
|
-
siblings_by_date.where(
|
60
|
+
siblings_by_date.where(starts_at: starts_at..)&.first
|
61
61
|
end
|
62
62
|
|
63
63
|
# Finds the page's previous sibling by date. Returns nil if
|
64
64
|
# there isn't one.
|
65
65
|
def previous_sibling_by_date
|
66
|
-
siblings_by_date.where(
|
66
|
+
siblings_by_date.where(starts_at: ...starts_at)&.last
|
67
67
|
end
|
68
68
|
|
69
69
|
def upcoming?
|
@@ -4,15 +4,12 @@ module PagesCore
|
|
4
4
|
module Taggable
|
5
5
|
extend ActiveSupport::Concern
|
6
6
|
|
7
|
-
attr_accessor :new_tags
|
8
|
-
|
9
7
|
included do
|
10
8
|
has_many :taggings,
|
11
9
|
as: :taggable,
|
12
10
|
dependent: :destroy,
|
13
11
|
inverse_of: :taggable
|
14
12
|
has_many :tags, through: :taggings
|
15
|
-
after_save :update_taggings
|
16
13
|
end
|
17
14
|
|
18
15
|
module ClassMethods
|
@@ -32,7 +29,7 @@ module PagesCore
|
|
32
29
|
end
|
33
30
|
|
34
31
|
def tag_with(*list)
|
35
|
-
|
32
|
+
self.tags = Tag.parse(list).map { |n| Tag.find_or_initialize_by(name: n) }
|
36
33
|
end
|
37
34
|
|
38
35
|
def tag_with!(*list)
|
@@ -48,21 +45,7 @@ module PagesCore
|
|
48
45
|
end
|
49
46
|
|
50
47
|
def tag_names
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
private
|
55
|
-
|
56
|
-
def update_taggings
|
57
|
-
return unless new_tags
|
58
|
-
|
59
|
-
Tag.transaction do
|
60
|
-
taggings.includes(:tag).where.not(tag: { name: new_tags }).destroy_all
|
61
|
-
new_tags.map { |n| Tag.find_or_create_by(name: n) }
|
62
|
-
.each { |t| taggings.create(tag: t) }
|
63
|
-
end
|
64
|
-
|
65
|
-
@new_tags = nil
|
48
|
+
tags.by_name.map(&:name)
|
66
49
|
end
|
67
50
|
end
|
68
51
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<h1>
|
2
|
+
Recover your account
|
3
|
+
</h1>
|
4
|
+
<p>
|
5
|
+
Hi, <%= @user.name %>!
|
6
|
+
</p>
|
7
|
+
<p>
|
8
|
+
We've received a request to recover your account on
|
9
|
+
<%= PagesCore.config(:site_name) %>.
|
10
|
+
</p>
|
11
|
+
<p>
|
12
|
+
Please click the following link to continue:<br>
|
13
|
+
<%= link_to(@url, @url) %>
|
14
|
+
</p>
|
15
|
+
<p>
|
16
|
+
The link will expire in 24 hours.
|
17
|
+
</p>
|
18
|
+
<p>
|
19
|
+
If you do not want to recover your password, please ignore this email.
|
20
|
+
</p>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<h1>
|
2
|
+
Welcome!
|
3
|
+
</h1>
|
4
|
+
<p>
|
5
|
+
<%= @invite.user.name %> has invited you to Pages on
|
6
|
+
<%= PagesCore.config(:site_name) %>.<br>
|
7
|
+
Click the button below to create your account and get started.
|
8
|
+
</p>
|
9
|
+
<div class="buttons">
|
10
|
+
<%= link_to("Create account", @url, class: "primary button") %>
|
11
|
+
</div>
|
data/lib/pages_core/engine.rb
CHANGED
data/lib/pages_core.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pages_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.15.
|
4
|
+
version: 3.15.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Inge Jørgensen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: premailer-rails
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: progress_bar
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -370,13 +384,14 @@ files:
|
|
370
384
|
- README.md
|
371
385
|
- Rakefile
|
372
386
|
- VERSION
|
373
|
-
- app/assets/builds/fonts/
|
374
|
-
- app/assets/builds/fonts/
|
375
|
-
- app/assets/builds/fonts/
|
376
|
-
- app/assets/builds/fonts/
|
387
|
+
- app/assets/builds/fonts/6569749d.ttf
|
388
|
+
- app/assets/builds/fonts/7b7db107.woff2
|
389
|
+
- app/assets/builds/fonts/921961e9.woff2
|
390
|
+
- app/assets/builds/fonts/ee32bc60.ttf
|
377
391
|
- app/assets/builds/pages_core/admin-dist.js
|
378
392
|
- app/assets/builds/pages_core/admin-dist.js.map
|
379
393
|
- app/assets/builds/pages_core/admin.css
|
394
|
+
- app/assets/builds/pages_core/mailer.css
|
380
395
|
- app/assets/fonts/Inter-Black.woff2
|
381
396
|
- app/assets/fonts/Inter-BlackItalic.woff2
|
382
397
|
- app/assets/fonts/Inter-Bold.woff2
|
@@ -420,7 +435,7 @@ files:
|
|
420
435
|
- app/assets/images/pages/admin/icon.svg
|
421
436
|
- app/assets/images/pages/admin/warning-icon.gif
|
422
437
|
- app/assets/images/pages/favicon.gif
|
423
|
-
- app/assets/stylesheets/pages_core/admin.
|
438
|
+
- app/assets/stylesheets/pages_core/admin.css
|
424
439
|
- app/assets/stylesheets/pages_core/admin/components/archive.css
|
425
440
|
- app/assets/stylesheets/pages_core/admin/components/attachments.css
|
426
441
|
- app/assets/stylesheets/pages_core/admin/components/base.css
|
@@ -448,6 +463,7 @@ files:
|
|
448
463
|
- app/assets/stylesheets/pages_core/admin/global/fonts.css
|
449
464
|
- app/assets/stylesheets/pages_core/admin/global/typography.css
|
450
465
|
- app/assets/stylesheets/pages_core/admin/vars.css
|
466
|
+
- app/assets/stylesheets/pages_core/mailer.css
|
451
467
|
- app/controller_dummies/admin/admin_controller.rb
|
452
468
|
- app/controller_dummies/application_controller.rb
|
453
469
|
- app/controller_dummies/attachments_controller.rb
|
@@ -696,8 +712,8 @@ files:
|
|
696
712
|
- app/views/admin/users/new.html.erb
|
697
713
|
- app/views/admin/users/new_password.html.erb
|
698
714
|
- app/views/admin/users/show.html.erb
|
699
|
-
- app/views/admin_mailer/account_recovery.
|
700
|
-
- app/views/admin_mailer/invite.
|
715
|
+
- app/views/admin_mailer/account_recovery.html.erb
|
716
|
+
- app/views/admin_mailer/invite.html.erb
|
701
717
|
- app/views/errors/401.html.erb
|
702
718
|
- app/views/errors/403.html.erb
|
703
719
|
- app/views/errors/404.html.erb
|
@@ -711,6 +727,7 @@ files:
|
|
711
727
|
- app/views/layouts/admin/_page_header.html.erb
|
712
728
|
- app/views/layouts/admin/_toast.html.erb
|
713
729
|
- app/views/layouts/errors.html.erb
|
730
|
+
- app/views/layouts/pages_core/mailer.html.erb
|
714
731
|
- app/views/sitemaps/show.xml.builder
|
715
732
|
- config/locales/en.yml
|
716
733
|
- config/routes.rb
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,10 +0,0 @@
|
|
1
|
-
Hi, <%= @user.name %>!
|
2
|
-
|
3
|
-
We've received a request to recover your account on <%= PagesCore.config(:site_name) %>.
|
4
|
-
|
5
|
-
Please click the following link to continue:
|
6
|
-
<%= @url %>
|
7
|
-
|
8
|
-
The link will expire in 24 hours.
|
9
|
-
|
10
|
-
If you do not want to recover your password, please ignore this email.
|
File without changes
|