Updated
This commit is contained in:
@@ -150,6 +150,9 @@ function assoc_profile_content() {
|
||||
if (function_exists('head_add_css')) {
|
||||
head_add_css('/addon/assoc_profile/view/css/assoc_profile.css');
|
||||
}
|
||||
if (function_exists('head_add_js')) {
|
||||
head_add_js('/addon/assoc_profile/view/js/assoc_profile.js');
|
||||
}
|
||||
|
||||
$action = argv(1) ?? '';
|
||||
|
||||
@@ -158,29 +161,28 @@ function assoc_profile_content() {
|
||||
}
|
||||
|
||||
if (!assoc_is_operator()) {
|
||||
return '<div class="alert alert-danger">Operator access required.</div>';
|
||||
return '<div class="civicinfra-notice civicinfra-warning">Operator access required.</div>';
|
||||
}
|
||||
|
||||
$sub = argv(2) ?? '';
|
||||
$slug = argv(3) ?? '';
|
||||
$sub = argv(2) ?? '';
|
||||
$slug = argv(3) ?? '';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
return assoc_handle_post();
|
||||
}
|
||||
|
||||
// Manage index
|
||||
if (!$sub) return assoc_render_manage_index();
|
||||
|
||||
// Association actions
|
||||
if ($sub === 'assoc') {
|
||||
if (!$slug) return assoc_render_add_association_form();
|
||||
return assoc_render_edit_association_form($slug);
|
||||
}
|
||||
|
||||
// Field actions
|
||||
if ($sub === 'fields') return assoc_render_fields_form();
|
||||
|
||||
return '<div class="alert alert-warning">Unknown management action.</div>';
|
||||
if ($sub === 'import') return assoc_render_import_form();
|
||||
|
||||
return '<div class="civicinfra-notice civicinfra-warning">Unknown management action.</div>';
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -189,19 +191,23 @@ function assoc_profile_content() {
|
||||
|
||||
function assoc_handle_post() {
|
||||
if (!assoc_verify_csrf()) {
|
||||
return '<div class="alert alert-danger">Invalid form token.</div>';
|
||||
return '<div class="civicinfra-notice civicinfra-warning">Invalid form token.</div>';
|
||||
}
|
||||
|
||||
$action = $_POST['assoc_action'] ?? '';
|
||||
|
||||
switch ($action) {
|
||||
case 'save_association': return assoc_save_association();
|
||||
case 'add_association': return assoc_add_association();
|
||||
case 'save_fields': return assoc_save_fields();
|
||||
case 'add_field': return assoc_add_field();
|
||||
case 'remove_field': return assoc_remove_field();
|
||||
case 'save_association': return assoc_save_association();
|
||||
case 'add_association': return assoc_add_association();
|
||||
case 'delete_association':return assoc_delete_association();
|
||||
case 'save_fields': return assoc_save_fields();
|
||||
case 'add_field': return assoc_add_field();
|
||||
case 'remove_field': return assoc_remove_field();
|
||||
case 'export_selected': return assoc_handle_export($_POST['export_slugs'] ?? '');
|
||||
case 'import_upload': return assoc_handle_import_upload();
|
||||
case 'import_confirm': return assoc_handle_import_confirm();
|
||||
default:
|
||||
return '<div class="alert alert-danger">Unknown action.</div>';
|
||||
return '<div class="civicinfra-notice civicinfra-warning">Unknown action.</div>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,7 +262,29 @@ function assoc_add_association() {
|
||||
if (assoc_write_registry($registry)) {
|
||||
goaway(z_root() . '/assoc_profile/manage/assoc/' . $slug);
|
||||
}
|
||||
return '<div class="alert alert-danger">Failed to create association.</div>';
|
||||
return '<div class="civicinfra-notice civicinfra-warning">Failed to create association.</div>';
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// DELETE ASSOCIATION
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
function assoc_delete_association() {
|
||||
$slug = substr(strip_tags($_POST['assoc_slug'] ?? ''), 0, 128);
|
||||
if (!$slug) return '<div class="civicinfra-notice civicinfra-warning">Missing slug.</div>';
|
||||
|
||||
$registry = assoc_load_registry();
|
||||
if (!isset($registry[$slug])) {
|
||||
return '<div class="civicinfra-notice civicinfra-warning">Association not found.</div>';
|
||||
}
|
||||
|
||||
$name = $registry[$slug]['assoc_legal_name'] ?? $slug;
|
||||
unset($registry[$slug]);
|
||||
|
||||
if (assoc_write_registry($registry)) {
|
||||
goaway(z_root() . '/assoc_profile/manage');
|
||||
}
|
||||
return '<div class="civicinfra-notice civicinfra-warning">Delete failed. Check server logs.</div>';
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user