lot new stuff
This commit is contained in:
parent
e0db22915b
commit
2178db78f5
17 changed files with 72 additions and 18 deletions
0
README.md
Normal file → Executable file
0
README.md
Normal file → Executable file
12
css/style.css
Normal file → Executable file
12
css/style.css
Normal file → Executable file
|
|
@ -1,30 +1,30 @@
|
||||||
/* Reset the table styles */
|
/* Reset the table styles */
|
||||||
table.wisski-cloud-account-manager-table {
|
table.wcam--table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Style for table headers */
|
/* Style for table headers */
|
||||||
table.wisski-cloud-account-manager-table th {
|
table.wcam--table th {
|
||||||
background-color: #f2f2f2;
|
background-color: #f2f2f2;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Alternate row background color */
|
/* Alternate row background color */
|
||||||
table.wisski-cloud-account-manager-table tr:nth-child(even) {
|
table.wcam--table tr:nth-child(even) {
|
||||||
background-color: #f2f2f2;
|
background-color: #f2f2f2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Style for table cells */
|
/* Style for table cells */
|
||||||
table.wisski-cloud-account-manager-table td {
|
table.wcam--table td {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
border: 1px solid #dddddd;
|
border: 1px solid #dddddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Center-align certain cells */
|
/* Center-align certain cells */
|
||||||
table.wisski-cloud-account-manager-table td.valid,
|
table.wcam--table td.valid,
|
||||||
table.wisski-cloud-account-manager-table td.provisioned {
|
table.wcam--table td.provisioned {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
42
js/accountOptions.js
Normal file
42
js/accountOptions.js
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
(function ($, Drupal, once) {
|
||||||
|
'use strict';
|
||||||
|
/**
|
||||||
|
* Implements collapsing of individual pathbuilder rows using a caret
|
||||||
|
*/
|
||||||
|
Drupal.behaviors.accountOptions = {
|
||||||
|
attach: function (context, settings) {
|
||||||
|
once('accountOptions', '#wcam--table', context).forEach(function (form) {
|
||||||
|
$('.wcam--select').change(function () {
|
||||||
|
console.log($(this))
|
||||||
|
let selectedOption = $(this).val();
|
||||||
|
let itemId = $(this).closest('tr').find('.wcam--row--item-id').text();
|
||||||
|
switch (selectedOption) {
|
||||||
|
case 'delete':
|
||||||
|
// Führen Sie hier Ihren JavaScript-Code für 'delete' aus.
|
||||||
|
|
||||||
|
console.log('delete:', itemId);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'edit':
|
||||||
|
// Führen Sie hier Ihren JavaScript-Code für 'edit' aus.
|
||||||
|
console.log('Edit:', itemId);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'provise':
|
||||||
|
// Führen Sie hier Ihren JavaScript-Code für 'provise' aus.
|
||||||
|
console.log('Provise', itemId);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'validate':
|
||||||
|
// Führen Sie hier Ihren JavaScript-Code für 'validate' aus.
|
||||||
|
console.log('Die Option "validate" wurde ausgewählt.');
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
console.log('Eine andere Option wurde ausgewählt.');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})(jQuery, Drupal, once);
|
||||||
0
src/Controller/WisskiCloudAccountManagerController.php
Normal file → Executable file
0
src/Controller/WisskiCloudAccountManagerController.php
Normal file → Executable file
4
src/Form/WisskiCloudAccountManagerCreateForm.php
Normal file → Executable file
4
src/Form/WisskiCloudAccountManagerCreateForm.php
Normal file → Executable file
|
|
@ -8,6 +8,7 @@ use Drupal\Core\Form\FormBase;
|
||||||
use Drupal\Core\Form\FormStateInterface;
|
use Drupal\Core\Form\FormStateInterface;
|
||||||
use Drupal\Core\Messenger\MessengerInterface;
|
use Drupal\Core\Messenger\MessengerInterface;
|
||||||
use Drupal\wisski_cloud_account_manager\WisskiCloudAccountManagerDaemonApiActions;
|
use Drupal\wisski_cloud_account_manager\WisskiCloudAccountManagerDaemonApiActions;
|
||||||
|
use mysql_xdevapi\Exception;
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -230,6 +231,9 @@ class WisskiCloudAccountManagerCreateForm extends FormBase {
|
||||||
$account["subdomain"] = $field['subdomain'];
|
$account["subdomain"] = $field['subdomain'];
|
||||||
|
|
||||||
$accountResponse = $this->wisskiCloudAccountManagerDaemonApiActions->addAccount($account);
|
$accountResponse = $this->wisskiCloudAccountManagerDaemonApiActions->addAccount($account);
|
||||||
|
if (!$accountResponse['success']) {
|
||||||
|
throw new Exception('Get no valid response from api daemon. Can not send validiation email.');
|
||||||
|
};
|
||||||
$this->wisskiCloudAccountManagerDaemonApiActions->sendValidationEmail($accountResponse['data']['email'], $accountResponse['data']['validationCode']);
|
$this->wisskiCloudAccountManagerDaemonApiActions->sendValidationEmail($accountResponse['data']['email'], $accountResponse['data']['validationCode']);
|
||||||
|
|
||||||
$this->messenger()
|
$this->messenger()
|
||||||
|
|
|
||||||
15
src/Form/WisskiCloudAccountManagerSettingsForm.php
Normal file → Executable file
15
src/Form/WisskiCloudAccountManagerSettingsForm.php
Normal file → Executable file
|
|
@ -36,35 +36,35 @@ class WisskiCloudAccountManagerSettingsForm extends ConfigFormBase {
|
||||||
$config = $this->config('wisski_cloud_account_manager.settings');
|
$config = $this->config('wisski_cloud_account_manager.settings');
|
||||||
|
|
||||||
$form['daemonUrl'] = [
|
$form['daemonUrl'] = [
|
||||||
'#type' => 'url',
|
'#type' => 'textfield',
|
||||||
'#title' => $this->t('The WissKI Cloud API Daemon URL'),
|
'#title' => $this->t('The WissKI Cloud API Daemon URL'),
|
||||||
'#description' => $this->t('Provide the complete base URL with protocol, domain (resp. service name in docker), ports and API path, i. e. "http://wisski_cloud_api_daemon:3000/wisski-cloud-daemon/api/v1"'),
|
'#description' => $this->t('Provide the complete base URL with protocol, domain (resp. service name in docker), ports and API path, i. e. "http://wisski_cloud_api_daemon:3000/wisski-cloud-daemon/api/v1"'),
|
||||||
'#default_value' => $config->get('daemonUrl'),
|
'#default_value' => $config->get('daemonUrl'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$form['allAccounts'] = [
|
$form['allAccounts'] = [
|
||||||
'#type' => 'url',
|
'#type' => 'textfield',
|
||||||
'#title' => $this->t('All accounts URL path'),
|
'#title' => $this->t('All accounts URL path'),
|
||||||
'#description' => $this->t('Provide the endpoint to the GET endpoint for all accounts, i. e. "http://wisski_cloud_api_daemon:3000/wisski-cloud-daemon/api/v1/account/all"'),
|
'#description' => $this->t('Provide the endpoint to the GET endpoint for all accounts, i. e. "/account/all"'),
|
||||||
'#default_value' => $config->get('allAccounts'),
|
'#default_value' => $config->get('allAccounts'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$form['accountPostUrlPath'] = [
|
$form['accountPostUrlPath'] = [
|
||||||
'#type' => 'url',
|
'#type' => 'textfield',
|
||||||
'#title' => $this->t('POST URL path'),
|
'#title' => $this->t('POST URL path'),
|
||||||
'#description' => $this->t('Provide the path to the POST endpoint, i. e. "/account"'),
|
'#description' => $this->t('Provide the path to the POST endpoint, i. e. "/account"'),
|
||||||
'#default_value' => $config->get('accountPostUrlPath'),
|
'#default_value' => $config->get('accountPostUrlPath'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$form['accountFilterByData'] = [
|
$form['accountFilterByData'] = [
|
||||||
'#type' => 'url',
|
'#type' => 'textfield',
|
||||||
'#title' => $this->t('Filter by Data URL path'),
|
'#title' => $this->t('Filter by Data URL path'),
|
||||||
'#description' => $this->t('Provide the path to the Get account by data endpoint, i. e. "/account/by_data"'),
|
'#description' => $this->t('Provide the path to the Get account by data endpoint, i. e. "/account/by_data"'),
|
||||||
'#default_value' => $config->get('accountFilterByData'),
|
'#default_value' => $config->get('accountFilterByData'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$form['accountValidation'] = [
|
$form['accountValidation'] = [
|
||||||
'#type' => 'url',
|
'#type' => 'textfield',
|
||||||
'#title' => $this->t('User Validation URL path'),
|
'#title' => $this->t('User Validation URL path'),
|
||||||
'#description' => $this->t('Provide the path to the account validation PUT endpoint, i. e. "/account/validation"'),
|
'#description' => $this->t('Provide the path to the account validation PUT endpoint, i. e. "/account/validation"'),
|
||||||
'#default_value' => $config->get('accountValidation'),
|
'#default_value' => $config->get('accountValidation'),
|
||||||
|
|
@ -121,8 +121,9 @@ class WisskiCloudAccountManagerSettingsForm extends ConfigFormBase {
|
||||||
public function submitForm(array &$form, FormStateInterface $form_state) {
|
public function submitForm(array &$form, FormStateInterface $form_state) {
|
||||||
$config = $this->config('wisski_cloud_account_manager.settings');
|
$config = $this->config('wisski_cloud_account_manager.settings');
|
||||||
|
|
||||||
$config->set('daemonURL', $form_state->getValue('daemonURL'))
|
$config->set('daemonUrl', $form_state->getValue('daemonUrl'))
|
||||||
->set('accountPostUrlPath', $form_state->getValue('accountPostUrlPath'))
|
->set('accountPostUrlPath', $form_state->getValue('accountPostUrlPath'))
|
||||||
|
->set('allAccounts', $form_state->getValue('allAccounts'))
|
||||||
->set('accountFilterByData', $form_state->getValue('accountFilterByData'))
|
->set('accountFilterByData', $form_state->getValue('accountFilterByData'))
|
||||||
->set('accountProvisionAndValidationCheck', $form_state->getValue('accountProvisionAndValidationCheck'))
|
->set('accountProvisionAndValidationCheck', $form_state->getValue('accountProvisionAndValidationCheck'))
|
||||||
->set('accountValidation', $form_state->getValue('accountValidation'))
|
->set('accountValidation', $form_state->getValue('accountValidation'))
|
||||||
|
|
|
||||||
0
src/WisskiCloudAccountManagerDaemonApiActions.php
Normal file → Executable file
0
src/WisskiCloudAccountManagerDaemonApiActions.php
Normal file → Executable file
11
templates/wisski-cloud-account-manager-account-managing-page.html.twig
Normal file → Executable file
11
templates/wisski-cloud-account-manager-account-managing-page.html.twig
Normal file → Executable file
|
|
@ -1,7 +1,7 @@
|
||||||
{# wisski_cloud_account_manager/templates/wisski_cloud_account_manager_account_managing_page.html.twig #}
|
{# wisski_cloud_account_manager/templates/wisski_cloud_account_manager_account_managing_page.html.twig #}
|
||||||
<div>
|
<div>
|
||||||
{% if accounts is not empty %}
|
{% if accounts is not empty %}
|
||||||
<table class="wisski-cloud-account-manager-table">
|
<table id="wcam--table" class="wcam--table">
|
||||||
<tr>
|
<tr>
|
||||||
<th>Id</th>
|
<th>Id</th>
|
||||||
<th>Person name</th>
|
<th>Person name</th>
|
||||||
|
|
@ -13,8 +13,8 @@
|
||||||
<th>Options</th>
|
<th>Options</th>
|
||||||
</tr>
|
</tr>
|
||||||
{% for item in accounts.data %}
|
{% for item in accounts.data %}
|
||||||
<tr>
|
<tr class="wcam--table--row">
|
||||||
<td>{{ item._id }}</td>
|
<td class="wcam--row--item-id">{{ item._id }}</td>
|
||||||
<td>{{ item.personName }}</td>
|
<td>{{ item.personName }}</td>
|
||||||
<td>{{ item.email }}</td>
|
<td>{{ item.email }}</td>
|
||||||
<td>{{ item.username }}</td>
|
<td>{{ item.username }}</td>
|
||||||
|
|
@ -37,8 +37,9 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
unknown
|
unknown
|
||||||
{% endif %}</td>
|
{% endif %}</td>
|
||||||
<td><label for="account-edit"></label>
|
<td><label for="wcam--account-edit--{{ item._id }}"></label>
|
||||||
<select name="account-edit" id="account-edit">
|
<select class="wcam--select" name="account-edit" id="wcam--account-edit--{{ item._id }}">
|
||||||
|
<option value="">select...</option>
|
||||||
<option value="edit">edit</option>
|
<option value="edit">edit</option>
|
||||||
{% if item.valid == 0 %}
|
{% if item.valid == 0 %}
|
||||||
<option value="validate">validate</option>
|
<option value="validate">validate</option>
|
||||||
|
|
|
||||||
0
templates/wisski-cloud-account-manager-terms-and-conditions-page.html.twig
Normal file → Executable file
0
templates/wisski-cloud-account-manager-terms-and-conditions-page.html.twig
Normal file → Executable file
0
templates/wisski-cloud-account-manager-validation-page.html.twig
Normal file → Executable file
0
templates/wisski-cloud-account-manager-validation-page.html.twig
Normal file → Executable file
0
wisski_cloud_account_manager.info.yml
Normal file → Executable file
0
wisski_cloud_account_manager.info.yml
Normal file → Executable file
6
wisski_cloud_account_manager.libraries.yml
Normal file → Executable file
6
wisski_cloud_account_manager.libraries.yml
Normal file → Executable file
|
|
@ -3,3 +3,9 @@ wisski_cloud_account_manager:
|
||||||
css:
|
css:
|
||||||
theme:
|
theme:
|
||||||
css/style.css: {}
|
css/style.css: {}
|
||||||
|
js:
|
||||||
|
js/accountOptions.js: {}
|
||||||
|
dependencies:
|
||||||
|
- core/jquery
|
||||||
|
- core/drupalSettings
|
||||||
|
- core/Drupal
|
||||||
|
|
|
||||||
0
wisski_cloud_account_manager.links.menu.yml
Normal file → Executable file
0
wisski_cloud_account_manager.links.menu.yml
Normal file → Executable file
0
wisski_cloud_account_manager.module
Normal file → Executable file
0
wisski_cloud_account_manager.module
Normal file → Executable file
0
wisski_cloud_account_manager.permissions.yml
Normal file → Executable file
0
wisski_cloud_account_manager.permissions.yml
Normal file → Executable file
0
wisski_cloud_account_manager.routing.yml
Normal file → Executable file
0
wisski_cloud_account_manager.routing.yml
Normal file → Executable file
0
wisski_cloud_account_manager.services.yml
Normal file → Executable file
0
wisski_cloud_account_manager.services.yml
Normal file → Executable file
Loading…
Add table
Add a link
Reference in a new issue