Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@ permissions:
contents: "write"

jobs:
tests:
name: Release tests
uses: ./.github/workflows/tests.yml

release:
name: Release pushed tag
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
env:
TAG: ${{ github.ref_name }}
steps:
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Tests

on:
pull_request:
branches: [main]

workflow_call:

jobs:
cs:
name: Coding Standards
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Cache composer dependencies
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-

- name: Composer install
run: composer -q install

- name: Check Coding Standards
run: vendor/bin/phpcs -q
623 changes: 372 additions & 251 deletions .phpcs.xml.dist

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions admin/about.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

// Access control
if (!$user->admin) {
accessforbidden();
accessforbidden();
}

// Parameters
Expand All @@ -58,19 +58,19 @@
llxHeader('', $langs->trans($title), $help_url, '', 0, 0, '', '', '', 'mod-autoverifactu page-admin_about');

// Subheader
$linkback = '<a href="'.($backtopage ? $backtopage : DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1').'">'.$langs->trans("BackToModuleList").'</a>';
$linkback = '<a href="' . ($backtopage ? $backtopage : DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1') . '">' . $langs->trans('BackToModuleList') . '</a>';

echo load_fiche_titre($langs->trans($title), $linkback, 'title_setup');

// Configuration header
$head = autoverifactuAdminPrepareHead();

echo dol_get_fiche_head(
$head,
'about',
$langs->trans($title),
0,
'autoverifactu@autoverifactu'
$head,
'about',
$langs->trans($title),
0,
'autoverifactu@autoverifactu'
);

// About page goes here
Expand Down
96 changes: 48 additions & 48 deletions admin/autodeclaration.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

// Access control
if (!$user->admin) {
accessforbidden();
accessforbidden();
}

// Translations
Expand All @@ -52,21 +52,21 @@
* Actions
*/
if ($action === 'create') {
autoverifactu_set_const('AUTOVERIFACTU_RESPONSABILITY', $autodeclaration);
header('Location: ' . $_SERVER['PHP_SELF']);
autoverifactu_set_const('AUTOVERIFACTU_RESPONSABILITY', $autodeclaration);
header('Location: ' . $_SERVER['PHP_SELF']);
} elseif ($action === 'delete') {
autoverifactu_set_const('AUTOVERIFACTU_RESPONSABILITY', '');
autoverifactu_set_const('AUTOVERIFACTU_ENABLED', false);
header('Location: ' . $_SERVER['PHP_SELF']);
autoverifactu_set_const('AUTOVERIFACTU_RESPONSABILITY', '');
autoverifactu_set_const('AUTOVERIFACTU_ENABLED', false);
header('Location: ' . $_SERVER['PHP_SELF']);
} elseif ($action === 'download') {
ob_clean();
header('Content-Type: text/html');
header('Content-Disposition: attachment; filename="autodeclaracion.html"');
echo $autodeclaration;
die();
ob_clean();
header('Content-Type: text/html');
header('Content-Disposition: attachment; filename="autodeclaracion.html"');
echo $autodeclaration;
die();
} elseif ($action) {
header('Location: ' . $_SERVER['PHP_SELF']);
die();
header('Location: ' . $_SERVER['PHP_SELF']);
die();
}

$action = null;
Expand All @@ -83,19 +83,19 @@
llxHeader('', $langs->trans($title), $help_url, '', 0, 0, '', '', '', 'mod-autoverifactu page-admin_autodeclaration');

// Subheader
$linkback = '<a href="'.($backtopage ? $backtopage : DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1').'">'.$langs->trans('BackToModuleList').'</a>';
$linkback = '<a href="' . ($backtopage ? $backtopage : DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1') . '">' . $langs->trans('BackToModuleList') . '</a>';

echo load_fiche_titre($langs->trans($title), $linkback, 'title_setup');

// Configuration header
$head = autoverifactuAdminPrepareHead();

echo dol_get_fiche_head(
$head,
'autodeclaration',
$langs->trans($title),
0,
'autoverifactu@autoverifactu'
$head,
'autodeclaration',
$langs->trans($title),
0,
'autoverifactu@autoverifactu'
);

// Autodeclaration page goes here
Expand All @@ -105,47 +105,47 @@
?>
<div>
<?php if ($responsability) { ?>
<div class="autodeclaration-preview">
<?php echo $responsability ?>
</div>
<div class="autodeclaration-preview">
<?php echo $responsability ?>
</div>
<?php } elseif ($action === 'create') { ?>
<div class="autodeclaration-preview">
<?php echo $autodeclaration ?>
</div>
<div class="autodeclaration-preview">
<?php echo $autodeclaration ?>
</div>
<?php } else {
echo autoverifactuDeclarationRenderedTemplate();
echo autoverifactuDeclarationRenderedTemplate();
} ?>
</div>
<div style="margin-top: 1rem">
<form id="autodeclarationForm" action="<?php echo rtrim(DOL_URL_ROOT, '/') ?>/custom/autoverifactu/admin/autodeclaration.php?token=<?php echo newToken() ?>" method="POST">
<input type="hidden" name="autodeclaration" />
<div class="form-setup-button-container">
<?php if ($responsability) : ?>
<input class="button button-save" type="submit" value="Download" data-action="download">
<input class="button button-delete butActionDelete" type="submit" value="Delete" data-action="delete">
<?php else : ?>
<input class="button button-save" type="submit" value="Save" data-action="create">
<?php endif; ?>
</div>
</form>
<form id="autodeclarationForm" action="<?php echo rtrim(DOL_URL_ROOT, '/') ?>/custom/autoverifactu/admin/autodeclaration.php?token=<?php echo newToken() ?>" method="POST">
<input type="hidden" name="autodeclaration" />
<div class="form-setup-button-container">
<?php if ($responsability) : ?>
<input class="button button-save" type="submit" value="Download" data-action="download">
<input class="button button-delete butActionDelete" type="submit" value="Delete" data-action="delete">
<?php else : ?>
<input class="button button-save" type="submit" value="Save" data-action="create">
<?php endif; ?>
</div>
</form>
</div>
<script>
window.addEventListener("DOMContentLoaded", function () {
const content = document.querySelector(".autodeclaration-preview").cloneNode(true);
const content = document.querySelector(".autodeclaration-preview").cloneNode(true);

const watermark = content.querySelector(".autodeclaration-watermark");
if (watermark) {
watermark.parentElement.removeChild(watermark);
}
const watermark = content.querySelector(".autodeclaration-watermark");
if (watermark) {
watermark.parentElement.removeChild(watermark);
}

const form = document.getElementById("autodeclarationForm");
const form = document.getElementById("autodeclarationForm");

const autodeclarationField = form.querySelector("input[name=\"autodeclaration\"]");
autodeclarationField.value = content.innerHTML;
const autodeclarationField = form.querySelector("input[name=\"autodeclaration\"]");
autodeclarationField.value = content.innerHTML;

for (let button of form.querySelectorAll("input[type=\"submit\"]")) {
button.setAttribute("formaction", form.getAttribute("action") + "&action=" + button.dataset.action);
}
for (let button of form.querySelectorAll("input[type=\"submit\"]")) {
button.setAttribute("formaction", form.getAttribute("action") + "&action=" + button.dataset.action);
}
});
</script>
<?php
Expand Down
Loading
Loading