Einiger Stylekrams
This commit is contained in:
parent
ec42146b57
commit
3d07ca9dc0
2
Makefile
2
Makefile
|
|
@ -1,6 +1,6 @@
|
|||
# Makefile for building the project
|
||||
|
||||
app_name=registration
|
||||
app_name=da_registration
|
||||
|
||||
project_dir=$(CURDIR)/../$(app_name)
|
||||
build_dir=$(CURDIR)/build/artifacts
|
||||
|
|
|
|||
|
|
@ -1,42 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
|
||||
<id>registration</id>
|
||||
<name>Registration</name>
|
||||
<summary>This app allows users to self-register a new account using their email address.</summary>
|
||||
<description><![CDATA[User registration
|
||||
|
||||
This app allows users to register a new account.
|
||||
|
||||
# Features
|
||||
|
||||
- Add users to a given group
|
||||
- Allow-list with email domains (including wildcard) to register with
|
||||
- Admins will be notified via email for new user creation or require approval
|
||||
- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients
|
||||
|
||||
# Web form registration flow
|
||||
|
||||
1. User enters their email address
|
||||
2. Verification link is sent to the email address
|
||||
3. User clicks on the verification link
|
||||
4. User is lead to a form where they can choose their username and password
|
||||
5. New account is created and is logged in automatically
|
||||
]]></description>
|
||||
<version>1.4.0</version>
|
||||
<id>da_registration</id>
|
||||
<name>DA Registration</name>
|
||||
<namespace>Registration</namespace>
|
||||
<description></description>
|
||||
<version>1.5.0</version>
|
||||
<licence>agpl</licence>
|
||||
<author mail="pellaeon@cnmc.tw" homepage="https://nyllep.wordpress.com/about-2">Pellaeon Lin</author>
|
||||
<types>
|
||||
<prevent_group_restriction />
|
||||
</types>
|
||||
<category>security</category>
|
||||
<category>tools</category>
|
||||
<website>https://github.com/nextcloud/registration</website>
|
||||
<bugs>https://github.com/nextcloud/registration/issues</bugs>
|
||||
<repository>https://github.com/nextcloud/registration</repository>
|
||||
<screenshot>https://raw.githubusercontent.com/nextcloud/registration/master/docs/screenshot.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/nextcloud/registration/master/docs/demo.gif</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/nextcloud/registration/master/docs/admin-settings.png</screenshot>
|
||||
<dependencies>
|
||||
<nextcloud min-version="20" max-version="23" />
|
||||
</dependencies>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,4 @@
|
|||
<?php
|
||||
/**
|
||||
* ownCloud - registration
|
||||
*
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later. See the COPYING file.
|
||||
*
|
||||
* @author Pellaeon Lin <pellaeon@hs.ntnu.edu.tw>
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
* @copyright Pellaeon Lin 2014
|
||||
*/
|
||||
|
||||
return [
|
||||
'routes' => [
|
||||
['name' => 'settings#admin', 'url' => '/settings', 'verb' => 'POST'],
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
"OCA\\Registration\\": "lib/"
|
||||
}
|
||||
},
|
||||
"name": "nextcloud/registration",
|
||||
"description": "registration",
|
||||
"name": "nextcloud/da_registration",
|
||||
"description": "da_registration",
|
||||
"license": "AGPL",
|
||||
"require": {
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
#alternative-logins:not(.alternative-logins) .button.register-button {
|
||||
color: var(--color-primary-element);
|
||||
background-color: red;
|
||||
}
|
||||
#alternative-logins.alternative-logins .button.register-button {
|
||||
color: var(--color-primary-text);
|
||||
color: red;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
#alternative-logins .register-button:only-child {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
/******/ (function() { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
var __webpack_exports__ = {};
|
||||
/*!*********************!*\
|
||||
!*** ./src/form.js ***!
|
||||
\*********************/
|
||||
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
var _this = this;
|
||||
|
||||
// Password toggle
|
||||
$('#showadminpass').click(function (e) {
|
||||
e.preventDefault();
|
||||
var passwordTextField = $('#password');
|
||||
|
||||
if (passwordTextField.attr('type') === 'password') {
|
||||
passwordTextField.attr('type', 'text');
|
||||
} else {
|
||||
passwordTextField.attr('type', 'password');
|
||||
}
|
||||
}); // Disable submit after first click
|
||||
|
||||
$('form').submit(function () {
|
||||
// prevent duplicate form submissions
|
||||
$(_this).find(':submit').attr('disabled', 'disabled');
|
||||
$(_this).find(':submit')[0].value = t('registration', 'Loading …');
|
||||
});
|
||||
});
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=da_registration-form.js.map?v=f64a2674d0a4e7f46973
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"da_registration-form.js?v=f64a2674d0a4e7f46973","sources":["webpack:///da_registration/src/form.js"],"sourcesContent":["\"use strict\";\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var _this = this;\n\n // Password toggle\n $('#showadminpass').click(function (e) {\n e.preventDefault();\n var passwordTextField = $('#password');\n\n if (passwordTextField.attr('type') === 'password') {\n passwordTextField.attr('type', 'text');\n } else {\n passwordTextField.attr('type', 'password');\n }\n }); // Disable submit after first click\n\n $('form').submit(function () {\n // prevent duplicate form submissions\n $(_this).find(':submit').attr('disabled', 'disabled');\n $(_this).find(':submit')[0].value = t('registration', 'Loading …');\n });\n});"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A","sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,2 +1,32 @@
|
|||
!function(){"use strict";document.addEventListener("DOMContentLoaded",(function(){var a=this;$("#showadminpass").click((function(t){t.preventDefault();var a=$("#password");"password"===a.attr("type")?a.attr("type","text"):a.attr("type","password")})),$("form").submit((function(){$(a).find(":submit").attr("disabled","disabled"),$(a).find(":submit")[0].value=t("registration","Loading …")}))}))}();
|
||||
//# sourceMappingURL=registration-form.js.map?v=2f99bd8b8e2f96df0fe1
|
||||
/******/ (function() { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
var __webpack_exports__ = {};
|
||||
/*!*********************!*\
|
||||
!*** ./src/form.js ***!
|
||||
\*********************/
|
||||
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
var _this = this;
|
||||
|
||||
// Password toggle
|
||||
$('#showadminpass').click(function (e) {
|
||||
e.preventDefault();
|
||||
var passwordTextField = $('#password');
|
||||
|
||||
if (passwordTextField.attr('type') === 'password') {
|
||||
passwordTextField.attr('type', 'text');
|
||||
} else {
|
||||
passwordTextField.attr('type', 'password');
|
||||
}
|
||||
}); // Disable submit after first click
|
||||
|
||||
$('form').submit(function () {
|
||||
// prevent duplicate form submissions
|
||||
$(_this).find(':submit').attr('disabled', 'disabled');
|
||||
$(_this).find(':submit')[0].value = t('registration', 'Loading …');
|
||||
});
|
||||
});
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=registration-form.js.map?v=16159a8c95b8418d822a
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["webpack:///registration/src/form.js"],"names":["document","addEventListener","$","click","e","preventDefault","passwordTextField","attr","submit","find","value","t"],"mappings":"yBAAAA,SAASC,iBAAiB,oBAAoB,WAAW,WAExDC,EAAE,kBAAkBC,OAAM,SAACC,GAC1BA,EAAEC,iBACF,IAAMC,EAAoBJ,EAAE,aACW,aAAnCI,EAAkBC,KAAK,QAC1BD,EAAkBC,KAAK,OAAQ,QAE/BD,EAAkBC,KAAK,OAAQ,eAKjCL,EAAE,QAAQM,QAAO,WAEhBN,EAAE,GAAMO,KAAK,WAAWF,KAAK,WAAY,YACzCL,EAAE,GAAMO,KAAK,WAAW,GAAGC,MAAQC,EAAE,eAAgB,mB","file":"registration-form.js?v=2f99bd8b8e2f96df0fe1","sourcesContent":["document.addEventListener('DOMContentLoaded', function() {\n\t// Password toggle\n\t$('#showadminpass').click((e) => {\n\t\te.preventDefault()\n\t\tconst passwordTextField = $('#password')\n\t\tif (passwordTextField.attr('type') === 'password') {\n\t\t\tpasswordTextField.attr('type', 'text')\n\t\t} else {\n\t\t\tpasswordTextField.attr('type', 'password')\n\t\t}\n\t})\n\n\t// Disable submit after first click\n\t$('form').submit(() => {\n\t\t// prevent duplicate form submissions\n\t\t$(this).find(':submit').attr('disabled', 'disabled')\n\t\t$(this).find(':submit')[0].value = t('registration', 'Loading …')\n\t})\n})\n"],"sourceRoot":""}
|
||||
{"version":3,"file":"registration-form.js?v=16159a8c95b8418d822a","sources":["webpack:///registration/src/form.js"],"sourcesContent":["\"use strict\";\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var _this = this;\n\n // Password toggle\n $('#showadminpass').click(function (e) {\n e.preventDefault();\n var passwordTextField = $('#password');\n\n if (passwordTextField.attr('type') === 'password') {\n passwordTextField.attr('type', 'text');\n } else {\n passwordTextField.attr('type', 'password');\n }\n }); // Disable submit after first click\n\n $('form').submit(function () {\n // prevent duplicate form submissions\n $(_this).find(':submit').attr('disabled', 'disabled');\n $(_this).find(':submit')[0].value = t('registration', 'Loading …');\n });\n});"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A","sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,27 +1,7 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
|
||||
*
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
namespace OCA\Registration\AppInfo;
|
||||
|
||||
|
|
@ -33,7 +13,7 @@ use OCP\AppFramework\Bootstrap\IBootstrap;
|
|||
use OCP\AppFramework\Bootstrap\IRegistrationContext;
|
||||
|
||||
class Application extends App implements IBootstrap {
|
||||
public const APP_ID = 'registration';
|
||||
public const APP_ID = 'da_registration';
|
||||
|
||||
public function __construct() {
|
||||
parent::__construct(self::APP_ID);
|
||||
|
|
|
|||
|
|
@ -2,17 +2,6 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* ownCloud - registration
|
||||
*
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later. See the COPYING file.
|
||||
*
|
||||
* @author Pellaeon Lin <pellaeon@hs.ntnu.edu.tw>
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
* @author 2020 Joas Schilling <coding@schilljs.com>
|
||||
* @copyright Pellaeon Lin 2014
|
||||
*/
|
||||
|
||||
namespace OCA\Registration\Controller;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,5 @@
|
|||
<?php
|
||||
/**
|
||||
* ownCloud - registration
|
||||
*
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later. See the COPYING file.
|
||||
*
|
||||
* @author Pellaeon Lin <pellaeon@cnmc.tw>
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
* @copyright Pellaeon Lin 2015
|
||||
*/
|
||||
|
||||
|
||||
namespace OCA\Registration\Controller;
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ class MailService {
|
|||
|
||||
$template->setSubject($subject);
|
||||
$template->addHeader();
|
||||
$template->addHeading($this->l10n->t('Registration'));
|
||||
$template->addHeading($this->l10n->t('registration'));
|
||||
|
||||
$body = $this->l10n->t('Email address verified, you can now complete your registration.');
|
||||
if (!$this->loginFlowService->isUsingLoginFlow()) {
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class RegistrationSettingsSection implements IIconSection {
|
|||
* @return string
|
||||
*/
|
||||
public function getName(): string {
|
||||
return $this->l10n->t('Registration');
|
||||
return $this->l10n->t('registration');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
{
|
||||
"name": "registration",
|
||||
"name": "da_registration",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "da_registration",
|
||||
"version": "1.0.0",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"dependencies": {
|
||||
|
|
@ -24,7 +25,8 @@
|
|||
"@nextcloud/webpack-vue-config": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
"node": ">=14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/cli": {
|
||||
|
|
@ -5565,11 +5567,13 @@
|
|||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
|
|
@ -16337,7 +16341,9 @@
|
|||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"optional": true
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "registration",
|
||||
"name": "da_registration",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@
|
|||
/** @var array $_ */
|
||||
/** @var \OCP\IL10N $l */
|
||||
script('registration', 'registration-settings');
|
||||
style('registration', 'settings');
|
||||
style('da_registration', 'settings');
|
||||
?>
|
||||
<div id="registration_settings_form"></div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/** @var array $_ */
|
||||
/** @var \OCP\IL10N $l */
|
||||
style('registration', 'style');
|
||||
style('da_registration', 'style');
|
||||
?>
|
||||
<div class="error">
|
||||
<h2><?php p($l->t('Approval required')) ?></h2>
|
||||
|
|
|
|||
Loading…
Reference in New Issue