1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/outline_ynh.git synced 2024-09-03 19:56:12 +02:00
outline_ynh/sources/patches/diff.txt

424 lines
20 KiB
Text
Raw Normal View History

2023-02-28 03:01:19 +01:00
diff --git a/app/components/Icons/OutlineIcon.tsx b/app/components/Icons/OutlineIcon.tsx
index 05fa32927..33fc7ee21 100644
--- a/app/components/Icons/OutlineIcon.tsx
+++ b/app/components/Icons/OutlineIcon.tsx
@@ -22,7 +22,10 @@ export default function OutlineIcon({
viewBox={cover ? "2 2 20 20" : "0 0 24 24"}
version="1.1"
>
- <path d="M14.6667 20.2155V20.7163C14.6667 21.4253 14.0697 22 13.3333 22C13.1044 22 12.8792 21.9432 12.6797 21.8351L4.67965 17.5028C4.25982 17.2754 4 16.8478 4 16.384V7.61623C4 7.15248 4.25982 6.72478 4.67965 6.49742L12.6797 2.16508C13.3215 1.81751 14.1344 2.03666 14.4954 2.65456C14.6077 2.8467 14.6667 3.06343 14.6667 3.28388V3.78471L15.6169 3.51027C16.3222 3.30655 17.0655 3.69189 17.2771 4.37093C17.3144 4.49059 17.3333 4.61486 17.3333 4.73979V5.26091L18.5013 5.12036C19.232 5.03242 19.8984 5.53141 19.9897 6.23488C19.9966 6.2877 20 6.34088 20 6.3941V17.6061C20 18.3151 19.403 18.8898 18.6667 18.8898C18.6114 18.8898 18.5561 18.8865 18.5013 18.8799L17.3333 18.7393V19.2604C17.3333 19.9694 16.7364 20.5441 16 20.5441C15.8702 20.5441 15.7412 20.5259 15.6169 20.49L14.6667 20.2155ZM14.6667 18.8753L16 19.2604V4.73979L14.6667 5.12488V18.8753ZM17.3333 6.55456V17.4457L18.6667 17.6061V6.3941L17.3333 6.55456ZM5.33333 7.61623V16.384L13.3333 20.7163V3.28388L5.33333 7.61623ZM6.66667 8.47006L8 7.82823V16.172L6.66667 15.5302V8.47006Z" />
+ <path
+ d="m 20.289859,11.238917 c 1.1839,-0.602335 1.765465,-1.4746827 1.765465,-2.6378124 0,-0.9346579 -0.332322,-1.7031547 -0.996968,-2.2847194 -0.685416,-0.6023353 -1.557763,-0.913888 -2.617042,-0.913888 -1.350062,0 -2.388571,0.3946336 -3.136297,1.1839 -0.643876,0.6854159 -1.14236,1.495453 -1.433142,2.4508809 -0.290783,0.9761979 -0.436174,2.2639489 -0.436174,3.8424829 v 8.017288 c 0,1.495452 -0.145391,2.533961 -0.436174,3.136296 h 2.907825 c 0.270012,-0.685416 0.415404,-1.723925 0.415404,-3.136296 v -1.370832 c 0.602335,0.373863 1.24621,0.540025 1.931626,0.540025 1.246211,0 2.305489,-0.415404 3.177837,-1.246211 1.017739,-0.976198 1.516223,-2.222409 1.516223,-3.738632 0,-1.993936 -0.893118,-3.260917 -2.679353,-3.800942 z M 16.322756,9.4942219 c 0,-1.1839 0.08308,-2.035477 0.270012,-2.5339614 0.207702,-0.6231053 0.623105,-0.9138877 1.22544,-0.9138877 0.456944,0 0.810037,0.353093 1.059279,1.0592788 0.207702,0.581565 0.290783,1.2877513 0.290783,2.097788 0,0.3530929 -0.02077,0.7061859 -0.103851,1.0385084 -0.103851,0.436174 -0.228472,0.664646 -0.373863,0.664646 l -0.934658,-0.186931 c -0.664646,0 -0.996969,0.186931 -0.996969,0.560794 0,0.353093 0.270012,0.540025 0.830808,0.540025 l 0.893117,-0.186932 c 0.228472,0 0.498484,0.270013 0.768496,0.768497 0.415404,0.747726 0.623106,1.682384 0.623106,2.866284 0,1.474682 -0.103851,2.492421 -0.311553,3.094756 -0.249242,0.706186 -0.747726,1.059279 -1.474682,1.059279 -0.789267,0 -1.391602,-0.373863 -1.765465,-1.14236 z M 4.7941133,15.254891 Q 4.50597,15.041916 4.2303546,14.929164 q -0.2630873,-0.12528 -0.6389264,-0.12528 -0.400895,0 -0.9395978,0.150336 -0.5261747,0.137807 -1.3530207,0.425951 -0.087696,-0.0877 -0.1879196,-0.238032 Q 1.0231943,14.991803 0.98561039,14.82894 1.3739774,14.528269 1.8500403,14.190013 2.3386312,13.851758 2.9023899,13.500975 2.4639109,13.024912 2.1632396,12.624017 1.8625683,12.223122 1.6746488,11.884867 1.4867292,11.534084 1.3990334,11.208357 q -0.075168,-0.325728 -0.075168,-0.651455 0,-0.400895 0.1127517,-0.8268457 Q 1.561897,9.2915774 1.8124565,8.7904584 2.0755438,8.2768117 2.4764389,7.687997 2.8773339,7.0866545 3.4410926,6.3475042 3.0903094,5.9716651 2.7771101,5.658466 2.4764389,5.3452666 2.2384074,5.0571236 2.012904,4.7689802 1.8750963,4.5058928 1.7498166,4.2302774 1.7498166,3.9296061 q 0,-0.3633111 0.1628636,-0.7015663 Q 2.2008235,2.6266973 2.5140228,2.0879945 2.83975,1.5367639 3.1654772,0.9730052 3.3032849,0.9354213 3.4786765,0.9604772 q 0.1753915,0.012528 0.3131992,0.0751677 -0.012528,0.1002238 -0.012528,0.2129756 0,0.1127517 0,0.2004475 0,0.2630873 0.037584,0.5136467 0.037584,0.2380315 0.1378077,0.4885909 Q 4.054963,2.701865 4.2303546,2.9774804 4.4057462,3.2530957 4.6938895,3.578823 5.2200642,4.1425816 5.808879,4.7439241 6.4102214,5.3327389 7.0240919,5.9215533 7.6379623,6.4978401 8.2518332,7.0615985 8.8657036,7.6128292 9.4294624,8.1264762 9.8303572,7.700525 10.105973,7.3747979 q 0.288143,-0.3382551 0.463534,-0.5888148 0.18792,-0.2505593 0.263088,-0.4510069 0.08769,-0.2004472 0.08769,-0.3883668 0,-0.2881434 -0.200447,-0.5387027 Q 10.531923,5.1448193 10.068388,4.7439241 9.6925497,4.4181971 9.454518,4.1926935 9.2164867,3.96719 9.0786789,3.7917984 8.9533994,3.6038789 8.9032873,3.4535433 8.8657036,3.3032076 8.8657036,3.127816 q 0,-0.3006713 0.3633112,-0.839374 0.3758391,-0.5512306 1.2778532,-1.37807665 0.100223,-0.0250559 0.263087,0.0250559 0.162863,0.0501119 0.288143,0.11275175 -0.01253,0.1252797 -0.02506,0.2129755 0,0.087696 0,0.1628636 0,0.1378077 0.03758,0.2505594 0.03758,0.1127518 0.150336,0.2505594 0.112752,0.1252797 0.313199,0.3131993 0.200448,0.1879195 0.526175,0.4760628 0.726622,0.6514545 1.014766,1.0398216 0.288143,0.375839 0.288143,0.6890381 0,0.2380317 -0.112752,0.5888148 -0.100224,0.3507831 -0.438479,0.8769578 -0.338255,0.5136467 -0.964653,1.240269 -0.613871,0.7266222 -1.641164,1.7163319 0.538702,0.4885909 0.914541,0.8519021 0.388367,0.3507827 0.663983,0.6138707 0.275615,0.263087 0.463535,0.451007 0.200447,0.187919 0.363311,0.338255 0.488591,0.451007 0.751678,0.814318 0.263087,0.363311 0.263087,0.651454 0,0.225504 -0.100223,0.463535 -0.25056,0.5
+ id="path11"
+ style="stroke-width:0.36652" />
</svg>
);
}
diff --git a/app/editor/menus/block.tsx b/app/editor/menus/block.tsx
index 42269b5e4..174c84c02 100644
--- a/app/editor/menus/block.tsx
+++ b/app/editor/menus/block.tsx
@@ -19,6 +19,7 @@ import {
ClockIcon,
CalendarIcon,
MathIcon,
+ BookmarkedIcon,
} from "outline-icons";
import * as React from "react";
import styled from "styled-components";
@@ -187,6 +188,13 @@ export default function blockMenuItems(dictionary: Dictionary): MenuItem[] {
keywords: "notice card suggestion",
attrs: { style: "tip" },
},
+ {
+ name: "container_notice",
+ title: dictionary.bibleNotice,
+ icon: <BookmarkedIcon />,
+ keywords: "notice card bible",
+ attrs: { style: "bible" },
+ },
{
name: "separator",
},
diff --git a/app/hooks/useDictionary.ts b/app/hooks/useDictionary.ts
index 088d40e71..42cdcdb33 100644
--- a/app/hooks/useDictionary.ts
+++ b/app/hooks/useDictionary.ts
@@ -76,6 +76,8 @@ export default function useDictionary() {
showSource: t("Show source"),
warning: t("Warning"),
warningNotice: t("Warning notice"),
+ bible: t("Bible"),
+ bibleNotice: t("Bible quote"),
insertDate: t("Current date"),
insertTime: t("Current time"),
insertDateTime: t("Current date and time"),
diff --git a/app/scenes/Document/components/Document.tsx b/app/scenes/Document/components/Document.tsx
index 3d55a359e..50510b816 100644
--- a/app/scenes/Document/components/Document.tsx
+++ b/app/scenes/Document/components/Document.tsx
@@ -632,11 +632,6 @@ class DocumentScene extends React.Component<Props> {
</Flex>
</React.Suspense>
</MaxWidth>
- {isShare &&
- !parseDomain(window.location.origin).custom &&
- !auth.user && (
- <Branding href="//www.getoutline.com?ref=sharelink" />
- )}
</Container>
{!isShare && (
<Footer>
diff --git a/app/scenes/Login/AuthenticationProvider.tsx b/app/scenes/Login/AuthenticationProvider.tsx
index af218c06c..b2d93d994 100644
--- a/app/scenes/Login/AuthenticationProvider.tsx
+++ b/app/scenes/Login/AuthenticationProvider.tsx
@@ -91,7 +91,7 @@ function AuthenticationProvider(props: Props) {
<InputLarge
type="email"
name="email"
- placeholder="me@domain.com"
+ placeholder="email@domaine.fr"
value={email}
onChange={handleChangeEmail}
disabled={isSubmitting}
@@ -100,12 +100,12 @@ function AuthenticationProvider(props: Props) {
short
/>
<ButtonLarge type="submit" disabled={isSubmitting}>
- {t("Sign In")} →
+ {t("S'identifier")} →
</ButtonLarge>
</>
) : (
<ButtonLarge type="submit" icon={<EmailIcon />} fullwidth>
- {t("Continue with Email")}
+ {t("Accès membre (email)")}
</ButtonLarge>
)}
</Form>
@@ -120,7 +120,7 @@ function AuthenticationProvider(props: Props) {
icon={<PluginIcon id={id} />}
fullwidth
>
- {t("Continue with {{ authProviderName }}", {
+ {t("Accès {{ authProviderName }}", {
authProviderName: name,
})}
</ButtonLarge>
diff --git a/app/scenes/Login/index.tsx b/app/scenes/Login/index.tsx
index 168165b08..9e1ec2f5d 100644
--- a/app/scenes/Login/index.tsx
+++ b/app/scenes/Login/index.tsx
@@ -214,7 +214,7 @@ function Login({ children }: Props) {
) : (
<>
<StyledHeading as="h2" centered>
- {t("Login to {{ authProviderName }}", {
+ {t("Bienvenue sur Anthropologie Biblique", {
authProviderName: config.name || env.APP_NAME,
})}
</StyledHeading>
@@ -232,7 +232,7 @@ function Login({ children }: Props) {
{hasMultipleProviders && (
<>
<Note>
- {t("You signed in with {{ authProviderName }} last time.", {
+ {t("Vous vous êtes authentifié avec l'accès {{ authProviderName }} la dernière fois.", {
authProviderName: defaultProvider.name,
})}
</Note>
diff --git a/app/scenes/Settings/Features.tsx b/app/scenes/Settings/Features.tsx
index 4fe94b044..5fd14def3 100644
--- a/app/scenes/Settings/Features.tsx
+++ b/app/scenes/Settings/Features.tsx
@@ -11,6 +11,8 @@ import useCurrentTeam from "~/hooks/useCurrentTeam";
import useStores from "~/hooks/useStores";
import useToasts from "~/hooks/useToasts";
import SettingRow from "./components/SettingRow";
+import Flex from "~/components/Flex";
+import Badge from "~/components/Badge";
function Features() {
const { auth } = useStores();
@@ -57,7 +59,7 @@ function Features() {
/>
</SettingRow>
)}
- {/* <SettingRow
+ {<SettingRow
name={TeamPreference.Commenting}
label={
<Flex align="center">
@@ -75,7 +77,7 @@ function Features() {
disabled={!team.collaborativeEditing}
onChange={handlePreferenceChange}
/>
- </SettingRow> */}
+ </SettingRow>}
{team.avatarUrl && (
<SettingRow
name={TeamPreference.PublicBranding}
diff --git a/app/typings/styled-components.d.ts b/app/typings/styled-components.d.ts
index c9a41b710..812dc1612 100644
--- a/app/typings/styled-components.d.ts
+++ b/app/typings/styled-components.d.ts
@@ -53,6 +53,8 @@ declare module "styled-components" {
noticeTipText: string;
noticeWarningBackground: string;
noticeWarningText: string;
+ noticeBibleBackground: string;
+ noticeBibleText: string;
}
interface Colors {
diff --git a/package.json b/package.json
index 5cf338265..0c05d9dab 100644
--- a/package.json
+++ b/package.json
@@ -143,6 +143,7 @@
"passport": "^0.6.0",
"passport-google-oauth2": "^0.2.0",
"passport-oauth2": "^1.6.1",
+ "passport-req": "^0.1.1",
"passport-slack-oauth2": "^1.1.1",
"patch-package": "^6.5.1",
"pg": "^8.8.0",
diff --git a/plugins/req/plugin.json b/plugins/req/plugin.json
new file mode 100644
index 000000000..ae7c40333
--- /dev/null
+++ b/plugins/req/plugin.json
@@ -0,0 +1,4 @@
+{
+ "name": "visiteur",
+ "description": "Adds an req compatible authentication provider."
+}
diff --git a/plugins/req/server/.babelrc b/plugins/req/server/.babelrc
new file mode 100644
index 000000000..c87001bc4
--- /dev/null
+++ b/plugins/req/server/.babelrc
@@ -0,0 +1,3 @@
+{
+ "extends": "../../../server/.babelrc"
+}
diff --git a/plugins/req/server/auth/req.ts b/plugins/req/server/auth/req.ts
new file mode 100644
index 000000000..bc03fc6d3
--- /dev/null
+++ b/plugins/req/server/auth/req.ts
@@ -0,0 +1,70 @@
+import passport from "@outlinewiki/koa-passport";
+import type { Context } from "koa";
+import Router from "koa-router";
+import { capitalize } from "lodash";
+import { Strategy as ReqStrategy } from "passport-req";
+import { slugifyDomain } from "@shared/utils/domains";
+import accountProvisioner from "@server/commands/accountProvisioner";
+import env from "@server/env";
+import passportMiddleware from "@server/middlewares/passport";
+import { User } from "@server/models";
+import { AuthenticationResult } from "@server/types";
+import {
+ StateStore,
+ getTeamFromContext,
+ getClientFromContext,
+} from "@server/utils/passport";
+
+const router = new Router();
+const providerName = "req";
+
+export const config = {
+ name: "visiteur",
+ enabled: true,
+};
+
+if (true) {
+ passport.use(
+ new ReqStrategy(
+ async function (req,done) {
+ try {
+ const domain = "domain.tld";
+ const subdomain = domain.split(".")[0];
+ const teamName = capitalize(subdomain);
+ const name = "visiteur";
+ const email = "visiteur@anthropologiebiblique.fr";
+ const result = await accountProvisioner({
+ ip: req.ip,
+ team: {
+ name: teamName,
+ domain,
+ subdomain,
+ },
+ user: {
+ name: name,
+ email: email,
+ avatarUrl: null,
+ },
+ authenticationProvider: {
+ name: providerName,
+ providerId: domain,
+ },
+ authentication: {
+ providerId: "1234",
+ accessToken: null,
+ refreshToken: null,
+ scopes: [],
+ },
+ });
+ return done(null, result.user, result);
+ } catch (err) {
+ return done(err, null);
+ }
+ }
+ )
+ );
+
+ router.get("req", passportMiddleware(providerName));
+}
+
+export default router;
\ No newline at end of file
diff --git a/server/emails/mailer.tsx b/server/emails/mailer.tsx
index 5df80a051..4e32de826 100644
--- a/server/emails/mailer.tsx
+++ b/server/emails/mailer.tsx
@@ -122,6 +122,7 @@ export class Mailer {
: {
rejectUnauthorized: false,
},
+ ignoreTLS:true
};
}
diff --git a/shared/editor/components/Styles.ts b/shared/editor/components/Styles.ts
index 71f28bed3..1dce0bf0a 100644
--- a/shared/editor/components/Styles.ts
+++ b/shared/editor/components/Styles.ts
@@ -646,6 +646,20 @@ h6 {
}
}
+.notice-block.bible {
+ background: ${transparentize(0.9, props.theme.noticeBibleBackground)};
+ border-left: 4px solid ${props.theme.noticeBibleBackground};
+ color: ${props.theme.noticeBibleText};
+
+ .icon {
+ color: ${props.theme.noticeBibleBackground};
+ }
+
+ a {
+ color: ${props.theme.noticeBibleText};
+ }
+}
+
blockquote {
margin: 0;
padding-left: 1.5em;
diff --git a/shared/editor/nodes/Notice.tsx b/shared/editor/nodes/Notice.tsx
index 158a0dfb9..f297c3433 100644
--- a/shared/editor/nodes/Notice.tsx
+++ b/shared/editor/nodes/Notice.tsx
@@ -1,5 +1,5 @@
import Token from "markdown-it/lib/token";
-import { WarningIcon, InfoIcon, StarredIcon } from "outline-icons";
+import { WarningIcon, InfoIcon, StarredIcon, BookmarkedIcon } from "outline-icons";
import { wrappingInputRule } from "prosemirror-inputrules";
import { NodeSpec, Node as ProsemirrorNode, NodeType } from "prosemirror-model";
import * as React from "react";
@@ -15,6 +15,7 @@ export default class Notice extends Node {
info: this.options.dictionary.info,
warning: this.options.dictionary.warning,
tip: this.options.dictionary.tip,
+ bible: this.options.dictionary.bible,
});
}
@@ -47,6 +48,8 @@ export default class Notice extends Node {
? "tip"
: dom.className.includes("warning")
? "warning"
+ : dom.className.includes("bible")
+ ? "bible"
: undefined,
}),
},
@@ -75,6 +78,8 @@ export default class Notice extends Node {
component = <StarredIcon color="currentColor" />;
} else if (node.attrs.style === "warning") {
component = <WarningIcon color="currentColor" />;
+ } else if (node.attrs.style === "bible") {
+ component = <BookmarkedIcon color="currentColor" />;
} else {
component = <InfoIcon color="currentColor" />;
}
diff --git a/shared/styles/theme.ts b/shared/styles/theme.ts
index fe2441c3c..11b972f03 100644
--- a/shared/styles/theme.ts
+++ b/shared/styles/theme.ts
@@ -92,6 +92,8 @@ const buildBaseTheme = (input: Partial<Colors>) => {
noticeTipText: colors.almostBlack,
noticeWarningBackground: "#d73a49",
noticeWarningText: colors.almostBlack,
+ noticeBibleBackground: "#996633",
+ noticeBibleText: colors.almostBlack,
breakpoints,
...colors,
...spacing,
@@ -233,6 +235,7 @@ export const buildDarkTheme = (input: Partial<Colors>): DefaultTheme => {
noticeInfoText: colors.white,
noticeTipText: colors.white,
noticeWarningText: colors.white,
+ noticeBibleText: colors.white,
progressBarBackground: colors.slate,
scrollbarBackground: colors.black,
scrollbarThumb: colors.lightBlack,
diff --git a/yarn.lock b/yarn.lock
index 524d96791..a0c1cc51f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10179,6 +10179,14 @@ passport-oauth@1.0.x:
passport-oauth1 "1.x.x"
passport-oauth2 "1.x.x"
+passport-req@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/passport-req/-/passport-req-0.1.1.tgz#451bff1500b3d464a768d42f0762328a21236a18"
+ integrity sha512-9qmM0vD5v7jYLWxezNNCleOw+8IkVAuvOwQ6NJaUuJkdFJTR1KatXH1i5MxWgffx+libLWYLRUPtc6GHOmn+6w==
+ dependencies:
+ passport "~0.1.1"
+ pkginfo "0.2.x"
+
passport-slack-oauth2@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/passport-slack-oauth2/-/passport-slack-oauth2-1.1.1.tgz#d831ffc3f1e968fcc3622e6ecf41643c8d8f9cbc"
@@ -10201,6 +10209,14 @@ passport@^0.6.0:
pause "0.0.1"
utils-merge "^1.0.1"
+passport@~0.1.1:
+ version "0.1.18"
+ resolved "https://registry.yarnpkg.com/passport/-/passport-0.1.18.tgz#c8264479dcb6414cadbb66752d12b37e0b6525a1"
+ integrity sha512-qteYojKG/qth7UBbbGU7aqhe5ndJs6YaUkH2B6+7FWQ0OeyYmWknzOATpMhdoSTDcLLliq9n4Fcy1mGs80iUMw==
+ dependencies:
+ pause "0.0.1"
+ pkginfo "0.2.x"
+
passthrough-counter@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa"
@@ -10410,6 +10426,11 @@ pkg-up@^3.1.0:
dependencies:
find-up "^3.0.0"
+pkginfo@0.2.x:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.2.3.tgz#7239c42a5ef6c30b8f328439d9b9ff71042490f8"
+ integrity sha512-7W7wTrE/NsY8xv/DTGjwNIyNah81EQH0MWcTzrHL6pOpMocOGZc0Mbdz9aXxSrp+U0mSmkU8jrNCDCfUs3sOBg==
+
pkginfo@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff"