Skip to content

Commit

Permalink
Merge pull request #24937 from aydun/adminui_contribution_pages
Browse files Browse the repository at this point in the history
AdminUI: add Manage Contribution Pages
  • Loading branch information
colemanw authored May 20, 2023
2 parents 3d198eb + 5e89766 commit 8e9c8e6
Show file tree
Hide file tree
Showing 5 changed files with 292 additions and 0 deletions.
14 changes: 14 additions & 0 deletions CRM/Contribute/DAO/ContributionPage.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,17 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
*/
public static $_log = TRUE;

/**
* Paths for accessing this entity in the UI.
*
* @var string[]
*/
protected static $_paths = [
'add' => 'civicrm/admin/contribute/add?reset=1&action=add',
'update' => 'civicrm/admin/contribute/settings?reset=1&action=update&id=[id]',
'delete' => 'civicrm/admin/contribute?reset=1&action=delete&id=[id]',
];

/**
* Contribution ID
*
Expand Down Expand Up @@ -536,6 +547,9 @@ public static function &fields() {
'entity' => 'ContributionPage',
'bao' => 'CRM_Contribute_BAO_ContributionPage',
'localizable' => 1,
'html' => [
'type' => 'Text',
],
'add' => '1.3',
],
'intro_text' => [
Expand Down
20 changes: 20 additions & 0 deletions ext/civicrm_admin_ui/ang/afsearchManageContributionPages.aff.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<div class="af-markup">
<div class="help">{{:: ts('CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns, and you can customize text, amounts, types of information collected from contributors, etc.') }} </div>
</div>
<div af-fieldset="">
<div class="af-container af-layout-inline">
<af-field name="title" defn="{label: 'Title', input_attrs: {}, help_post: 'Complete OR partial Contribution Page Title'}" />
<af-field name="financial_type_id" defn="{input_type: 'CheckBox', input_attrs: {}}" />
</div>
<div class="btn-group pull-right">
<a class="btn btn-primary" ng-href="{{:: crmUrl('civicrm/admin/pcp', {reset: 1}) }}">
<i class="crm-i fa-plus"/>
{{:: ts('Manage Personal Campaign Pages') }}
</a>
<a class="btn btn-primary" ng-href="{{:: crmUrl('civicrm/admin/contribute/add', {reset: 1, action: 'add'}) }}">
<i class="crm-i fa-plus"/>
{{:: ts('Add Contribution Page') }}
</a>
</div>
<crm-search-display-table search-name="Manage_Contribution_Pages" display-name="Manage_Contribution_Pages_Table_1"></crm-search-display-table>
</div>
19 changes: 19 additions & 0 deletions ext/civicrm_admin_ui/ang/afsearchManageContributionPages.aff.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"type": "search",
"requires": [],
"entity_type": null,
"join_entity": null,
"title": "Manage Contribution Pages",
"description": "",
"is_dashlet": false,
"is_public": false,
"is_token": false,
"contact_summary": null,
"summary_contact_type": null,
"icon": "fa-list-alt",
"server_route": "civicrm/admin/contribute",
"permission": "access CiviContribute",
"redirect": null,
"create_submission": false,
"navigation": null
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
<?php
use CRM_CivicrmAdminUi_ExtensionUtil as E;

return [
[
'name' => 'SavedSearch_Manage_Contribution_Pages',
'entity' => 'SavedSearch',
'cleanup' => 'always',
'update' => 'unmodified',
'params' => [
'version' => 4,
'values' => [
'name' => 'Manage_Contribution_Pages',
'label' => E::ts('Manage Contribution Pages'),
'form_values' => NULL,
'mapping_id' => NULL,
'search_custom_id' => NULL,
'api_entity' => 'ContributionPage',
'api_params' => [
'version' => 4,
'select' => [
'title',
'id',
'is_active',
'financial_type_id:label',
],
'orderBy' => [],
'where' => [],
'groupBy' => [],
'join' => [],
'having' => [],
],
'expires_date' => NULL,
'description' => NULL,
],
],
],
[
'name' => 'SavedSearch_Manage_Contribution_Pages_SearchDisplay_Manage_Contribution_Pages_Table_1',
'entity' => 'SearchDisplay',
'cleanup' => 'always',
'update' => 'unmodified',
'params' => [
'version' => 4,
'values' => [
'name' => 'Manage_Contribution_Pages_Table_1',
'label' => E::ts('Manage Contribution Pages Table 1'),
'saved_search_id.name' => 'Manage_Contribution_Pages',
'type' => 'table',
'settings' => [
'actions' => FALSE,
'limit' => 50,
'classes' => [
'table',
'table-striped',
],
'pager' => [
'show_count' => TRUE,
'expose_limit' => TRUE,
],
'placeholder' => 5,
'sort' => [
[
'is_active',
'DESC',
],
[
'title',
'ASC',
],
],
'columns' => [
[
'type' => 'field',
'key' => 'title',
'dataType' => 'String',
'label' => E::ts('Title'),
'sortable' => TRUE,
'cssRules' => [
[
'disabled',
'is_active',
'=',
FALSE,
],
],
],
[
'type' => 'field',
'key' => 'id',
'dataType' => 'Integer',
'label' => E::ts('ID'),
'sortable' => TRUE,
'cssRules' => [
[
'disabled',
'is_active',
'=',
FALSE,
],
],
],
[
'type' => 'field',
'key' => 'is_active',
'dataType' => 'Boolean',
'label' => E::ts('Enabled?'),
'sortable' => TRUE,
'editable' => TRUE,
'cssRules' => [
[
'disabled',
'is_active',
'=',
FALSE,
],
],
],
[
'type' => 'field',
'key' => 'financial_type_id:label',
'dataType' => 'Integer',
'label' => E::ts('Financial Type'),
'sortable' => TRUE,
'cssRules' => [
[
'disabled',
'is_active',
'=',
FALSE,
],
],
],
[
'text' => E::ts('Links'),
'style' => 'default',
'size' => 'btn-sm',
'icon' => 'fa-link',
'links' => [
[
'entity' => '',
'action' => '',
'join' => '',
'target' => '',
'icon' => 'fa-external-link',
'text' => E::ts('Live Page'),
'style' => 'default',
'path' => 'civicrm/contribute/transact?reset=1&id=[id]',
'condition' => [],
],
[
'entity' => '',
'action' => '',
'join' => '',
'target' => '',
'icon' => 'fa-external-link',
'text' => E::ts('Test-drive'),
'style' => 'default',
'path' => 'civicrm/contribute/transact?reset=1&id=[id]&action=preview',
'condition' => [],
],
],
'type' => 'menu',
'alignment' => 'text-right',
],
[
'size' => 'btn-xs',
'links' => [
[
'entity' => '',
'action' => '',
'join' => '',
'target' => '',
'icon' => 'fa-search',
'text' => E::ts('Find Contributions'),
'style' => 'default',
'path' => 'civicrm/contribute/search?contribution_page_id=[id]&force=1&reset=1',
'condition' => [],
],
],
'type' => 'buttons',
'alignment' => 'text-right',
],
[
'size' => 'btn-xs',
'links' => [
[
'entity' => 'ContributionPage',
'action' => 'update',
'join' => '',
'target' => '',
'icon' => 'fa-pencil',
'text' => E::ts('Edit'),
'style' => 'default',
'path' => '',
'condition' => [],
],
[
'path' => 'civicrm/admin/contribute?action=copy&gid=[id]',
'icon' => 'fa-clone',
'text' => E::ts('Clone'),
'style' => 'secondary',
'condition' => [],
'entity' => '',
'action' => '',
'join' => '',
'target' => '',
],
[
'entity' => 'ContributionPage',
'action' => 'delete',
'join' => '',
'target' => 'crm-popup',
'icon' => 'fa-trash',
'text' => E::ts('Delete'),
'style' => 'danger',
'path' => '',
'condition' => [],
],
],
'type' => 'buttons',
'alignment' => 'text-right',
],
],
'button' => NULL,
],
'acl_bypass' => FALSE,
],
],
],
];
8 changes: 8 additions & 0 deletions xml/schema/Contribute/ContributionPage.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
<log>true</log>
<component>CiviContribute</component>
<labelField>title</labelField>
<paths>
<add>civicrm/admin/contribute/add?reset=1&amp;action=add</add>
<update>civicrm/admin/contribute/settings?reset=1&amp;action=update&amp;id=[id]</update>
<delete>civicrm/admin/contribute?reset=1&amp;action=delete&amp;id=[id]</delete>
</paths>
<field>
<name>id</name>
<title>Contribution Page ID</title>
Expand All @@ -32,6 +37,9 @@
<localizable>true</localizable>
<comment>Contribution Page title. For top of page display</comment>
<add>1.3</add>
<html>
<type>Text</type>
</html>
</field>
<field>
<name>intro_text</name>
Expand Down

0 comments on commit 8e9c8e6

Please sign in to comment.