From 879cb7566d14130fa0cca65bc2bd08df3947167c Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 20 Oct 2014 12:03:57 -0400 Subject: [PATCH] Add member info profile setting. * settings/MemberDashboard.setting.php: New file. * CRM/Memberdashboard/Page/Info.php (CRM_Memberdashboard_Page_Info.run): Fetch member info profile and pass it to the client. * assets/js/member-info.js: Load the configured profile instead of a hardcoded one. * README.org (Configuration): New section. --- CRM/Memberdashboard/Page/Info.php | 16 +++++++++---- README.md | 10 ++++++++ assets/js/member-info.js | 2 +- settings/MemberDashboard.setting.php | 35 ++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 settings/MemberDashboard.setting.php diff --git a/CRM/Memberdashboard/Page/Info.php b/CRM/Memberdashboard/Page/Info.php index 6727e75..9d62abd 100644 --- a/CRM/Memberdashboard/Page/Info.php +++ b/CRM/Memberdashboard/Page/Info.php @@ -25,10 +25,18 @@ require_once 'CRM/Core/Page.php'; class CRM_Memberdashboard_Page_Info extends CRM_Core_Page { function run() { CRM_Utils_System::setTitle('My Info'); - CRM_Core_Resources::singleton()->addScriptFile('org.fsf.memberdashboard', - 'assets/js/underscore.js'); - CRM_Core_Resources::singleton()->addScriptFile('org.fsf.memberdashboard', - 'assets/js/member-info.js'); + + $profile_id = civicrm_api3('setting', 'getvalue', array( + 'name' => 'memberdashboard_info_profile_id', + 'group' => 'Member Dashboard Preferences' + )); + + $resources = CRM_Core_Resources::singleton(); + $resources->addScriptFile('org.fsf.memberdashboard', + 'assets/js/underscore.js'); + $resources->addScriptFile('org.fsf.memberdashboard', + 'assets/js/member-info.js'); + $resources->addScript("var memberDashboard = { profileId: $profile_id };"); parent::run(); } diff --git a/README.md b/README.md index d22a350..19ecb76 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,16 @@ FSF Member Dashboard for CiviCRM This CiviCRM extension provides a custom user interface for FSF associate members to manage their account information. +Configuration +------------- + +### Set the member settings profile + +``` +drush civicrm-api setting.create memberdashboard_info_profile_id= +``` + + Copyright --------- diff --git a/assets/js/member-info.js b/assets/js/member-info.js index 7e5d654..e6e8b05 100644 --- a/assets/js/member-info.js +++ b/assets/js/member-info.js @@ -52,6 +52,6 @@ } $(document).ready(function() { - loadProfile(1, renderProfile); + loadProfile(memberDashboard.profile_id, renderProfile); }); })(jQuery); diff --git a/settings/MemberDashboard.setting.php b/settings/MemberDashboard.setting.php new file mode 100644 index 0000000..0af6b22 --- /dev/null +++ b/settings/MemberDashboard.setting.php @@ -0,0 +1,35 @@ +. + */ + +return array( + 'memberdashboard_info_profile_id' => array( + 'group_name' => 'Member Dashboard Preferences', + 'group' => 'memberdashboard', + 'name' => 'memberdashboard_info_profile_id', + 'type' => 'Integer', + 'default' => 1, + 'is_domain' => 1, + 'is_contact' => 0, + 'description' => 'Info Profile ID', + 'help_text' => 'Profile ID for member-editable contact information' + ) +); \ No newline at end of file -- 2.25.1