summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
David Thompson [Mon, 17 Nov 2014 21:16:18 +0000 (16:16 -0500)]
Wrap hook in a try/catch block.
* memberdashboard.php (memberdashboard_civicrm_post): Wrap DB and API
calls in a try/catch.
David Thompson [Mon, 17 Nov 2014 21:12:55 +0000 (16:12 -0500)]
benefits: Display member button.
* CRM/Admin/Form/Setting/MemberDashboard.php
(CRM_Admin_Form_Setting_MemberDashboard) [buildQuickForm]: Add input
for static button URL.
[postProcess]: Save static button URL.
* CRM/Memberdashboard/Page/Benefits.php
(CRM_Memberdashboard_Page_Benefits) [run]: Add 'contact' and
'buttonUrl' smarty variables.
* settings/MemberDashboard.setting.php
(memberdashboard_button_static_url): New setting.
* templates/CRM/Admin/Form/Setting/MemberDashboard.tpl: Render static
button URL form field.
* templates/CRM/Memberdashboard/Page/Benefits.tpl: Render member button.
David Thompson [Mon, 17 Nov 2014 19:36:53 +0000 (14:36 -0500)]
Don't call member button API if settings aren't configured.
* memberdashboard.php (memberdashboard_civicrm_post): Make sure API url,
user, and password are not empty before making RPC.
David Thompson [Mon, 17 Nov 2014 19:33:58 +0000 (14:33 -0500)]
Revert William's ill-fated style improvements.
David Thompson [Mon, 17 Nov 2014 19:26:14 +0000 (14:26 -0500)]
Add civicrm_post hook to regenerate member buttons.
* CRM/Admin/Form/Setting/MemberDashboard.php
(CRM_Admin_Form_Setting_MemberDashboard) [buildQuickForm]: Add inputs
for API settings.
[postProcess]: Update API settings.
* memberdashboard.php (memberdashboard_civicrm_post): New function.
* settings/MemberDashboard.setting.php: Add url, user, and password settings.
* templates/CRM/Admin/Form/Setting/MemberDashboard.tpl: Render new
setting form inputs.
David Thompson [Mon, 17 Nov 2014 15:11:47 +0000 (10:11 -0500)]
info: Fix link to profile.
* templates/CRM/Memberdashboard/Page/Info.tpl: Remove '/drupal'.
William Theaker [Fri, 14 Nov 2014 21:03:56 +0000 (16:03 -0500)]
Include stylesheet as resource
William Theaker [Fri, 14 Nov 2014 21:00:37 +0000 (16:00 -0500)]
Added MemberDashboard landing page boxes
William Theaker [Fri, 14 Nov 2014 20:34:12 +0000 (15:34 -0500)]
Added stylesheet
David Thompson [Fri, 14 Nov 2014 20:13:18 +0000 (15:13 -0500)]
info: Add LibreJS metadata to JS.
* assets/js/member-info.js: Add @licstart/@licend metadata.
David Thompson [Fri, 14 Nov 2014 20:10:36 +0000 (15:10 -0500)]
info: Fix state select box not updating when country is changed.
* assets/js/member-info.js: Watch country select box for changes and
fetch relevant states via AJAX.
David Thompson [Fri, 14 Nov 2014 17:19:20 +0000 (12:19 -0500)]
admin: Show all profiles in select box instead of just unreserved ones.
* CRM/Admin/Form/Setting/MemberDashboard.php
(CRM_Admin_Form_Setting_MemberDashboard) [fetchProfiles]: Remove
'WHERE' clause in query.
David Thompson [Tue, 11 Nov 2014 23:21:29 +0000 (18:21 -0500)]
Mark dashboard pages as public.
* xml/Menu/memberdashboard.xml: Set is_public to true for all non-admin
dashboard pages.
William Theaker [Mon, 10 Nov 2014 17:21:07 +0000 (12:21 -0500)]
SSL changes
David Thompson [Fri, 7 Nov 2014 15:48:37 +0000 (10:48 -0500)]
benefits: Add uniqueness validation for email aliases.
* CRM/Memberdashboard/BAO/EmailAlias.php (CRM_Memberdashboard_BAO_EmailAlias)
[findByLocalpart]: New method.
* CRM/Memberdashboard/Page/Benefits.php (CRM_Memberdashboard_Page_Benefits)
[add, edit]: Check local part of alias for uniqueness.
David Thompson [Thu, 6 Nov 2014 21:51:14 +0000 (16:51 -0500)]
dashboard: Remove placeholder member button markup.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Remove
placeholder markup.
David Thompson [Thu, 6 Nov 2014 21:22:34 +0000 (16:22 -0500)]
benefits: Don't allow non-members to access benefits page.
* CRM/Memberdashboard/Page/Benefits.php (CRM_Memberdashboard_Page_Benefits)
[hasValidMembership]: New method.
[postProcess]: Restrict POST actions to members only.
[run]: Pass 'hasValidMembership' variable to smarty template.
* templates/CRM/Memberdashboard/Page/Benefits.tpl: Display an access
denied page if the user is a non-member.
David Thompson [Thu, 6 Nov 2014 21:20:58 +0000 (16:20 -0500)]
benefits: Validate local part of email alias.
* CRM/Memberdashboard/Page/Benefits.php (CRM_Memberdashboard_Page_Benefits)
[add]: Validate local part.
[edit]: Likewise.
David Thompson [Thu, 6 Nov 2014 19:05:53 +0000 (14:05 -0500)]
benefits: Add email alias CRUD.
* CRM/Memberdashboard/BAO/EmailAlias.php: New file.
* CRM/Memberdashboard/Page/Benefits.php (CRM_Memberdashboard_Page_Benefits)
[loadEmailAliases]: Delegate to BAO.
[postProcess, add, edit]: New methods.
[padEmailAliases]: Delete.
[run]: Handle POST requests.
* templates/CRM/Memberdashboard/Page/Benefits.tpl: Update edit/add forms.
David Thompson [Thu, 6 Nov 2014 00:11:40 +0000 (19:11 -0500)]
info: Improve appearance of rendered profile even more.
* assets/js/member-info.js: Wrap labels and inputs in divs with the
necessary classes applied for good style.
David Thompson [Wed, 5 Nov 2014 23:56:10 +0000 (18:56 -0500)]
info: Improve appearance of rendered profile.
* assets/js/member-info.js: Add 'form-item' class to form field divs.
David Thompson [Wed, 5 Nov 2014 23:48:59 +0000 (18:48 -0500)]
info: Fix JavaScript to support older versions of CiviCRM and jQuery.
* assets/js/member-info.js: Fall back to using 'jQuery' instead of
'CRM.$'. Parse profile JSON if it hasn't already been parsed.
* templates/CRM/Memberdashboard/Page/Info.tpl
David Thompson [Wed, 5 Nov 2014 23:08:57 +0000 (18:08 -0500)]
Remove temporary testing links.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Remove links
to other dashboard pages.
David Thompson [Wed, 5 Nov 2014 23:06:22 +0000 (18:06 -0500)]
info: Fix the profile link displayed in noscript tag.
* CRM/Memberdashboard/Page/Info.php (CRM_Memberdashboard_Page_Info)
[run]: Assign 'profileId' for smarty template.
* templates/CRM/Memberdashboard/Page/Info.tpl: Fix profile URL.
David Thompson [Wed, 5 Nov 2014 22:44:48 +0000 (17:44 -0500)]
info: Fix issue where jquery.notify.js is sometimes not loaded and
breaks the page.
* CRM/Memberdashboard/Page/Info.php (CRM_Memberdashboard_Page_Info)
[run]: Add jquery.notify.min.js resource.
David Thompson [Wed, 5 Nov 2014 22:44:05 +0000 (17:44 -0500)]
js: Use better method for using civi's jquery.
* assets/js/member-info.js: Use 'CRM.$'.
David Thompson [Wed, 5 Nov 2014 22:43:15 +0000 (17:43 -0500)]
Fix permissions.
* xml/Menu/memberdashboard.xml: Use the 'profile edit' permission
instead.
David Thompson [Tue, 4 Nov 2014 17:53:05 +0000 (12:53 -0500)]
benefits: Display email aliases in a table.
* CRM/Memberdashboard/Page/Benefits.php (CRM_Memberdashboard_Page_Benefits)
[loadEmailAliases]: New method.
[padEmailAliases]: New method.
* memberdashboard.php (MEMBERDASHBOARD_MAX_EMAIL_ALIASES): New constant.
* templates/CRM/Memberdashboard/Page/Benefits.tpl: Render email aliases.
David Thompson [Tue, 4 Nov 2014 15:22:55 +0000 (10:22 -0500)]
Add member_email_alias table.
* CRM/Memberdashboard/Upgrader.php: New file.
* CRM/Memberdashboard/Upgrader/Base.php: New file.
* sql/install.sql: New file.
David Thompson [Tue, 4 Nov 2014 14:28:24 +0000 (09:28 -0500)]
benefits: Simplify Drupal user access.
* CRM/Memberdashboard/Page/Benefits.php (CRM_Memberdashboard_Page_Benefits)
[loadUser]: Delete.
[run]: Use $user global variable.
David Thompson [Fri, 31 Oct 2014 17:02:43 +0000 (13:02 -0400)]
benefits: Display proper XMPP username and elaborate on other benefits.
David Thompson [Thu, 30 Oct 2014 20:59:18 +0000 (16:59 -0400)]
Add benefits page.
* CRM/Memberdashboard/Page/Benefits.php: New file.
* templates/CRM/Memberdashboard/Page/Benefits.tpl: New file.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Add link to
benefits page.
* xml/Menu/memberdashboard.xml: Add route.
David Thompson [Fri, 24 Oct 2014 20:59:43 +0000 (16:59 -0400)]
communications: Copy and tweak the groups template from civi core.
* templates/CRM/Memberdashboard/Page/Communications.tpl: Render custom
groups template.
* templates/CRM/Memberdashboard/Page/Element/Group.tpl: New file.
David Thompson [Fri, 24 Oct 2014 20:44:19 +0000 (16:44 -0400)]
communication: Add custom group subscription form.
* CRM/Memberdashboard/Page/Communications.php
(CRM_Memberdashboard_Page_Communications) [getGroups]: New method.
[postProcess]: Add contact to given group.
[run]: Add groups for rendering.
* templates/CRM/Memberdashboard/Page/Communications.tpl: Render group
select box.
David Thompson [Thu, 23 Oct 2014 20:57:37 +0000 (16:57 -0400)]
Fix docstring.
* CRM/Memberdashboard/Page/ComponentHelper.php
(CRM_Memberdashboard_Page_ComponentHelper) [buildDashboardElements]:
Correct outdated docstring.
David Thompson [Thu, 23 Oct 2014 20:56:07 +0000 (16:56 -0400)]
communications: Apply civi CSS to form elements.
* templates/CRM/Memberdashboard/Page/Communications.tpl: Remove form
tag. Use 'crm-select2' class for email format dropdown. Use
'crm-form-submit' class for 'Save' button.
David Thompson [Thu, 23 Oct 2014 16:10:51 +0000 (12:10 -0400)]
Extract base page class.
* CRM/Memberdashboard/Page.php: New file.
* CRM/Memberdashboard/Page/Communications.php
(CRM_Memberdashboard_Page_Communications): Inherit from base page.
[contactId, loadContact, isPOST]: Remove methods.
[run]: Use pre-loaded contact object.
* CRM/Memberdashboard/Page/MemberDashboard.php
(CRM_Memberdashboard_Page_MemberDashboard): Inherit from base page.
[$contact]: Remove variable.
[__construct, loadContact]: Remove methods.
David Thompson [Thu, 23 Oct 2014 15:55:07 +0000 (11:55 -0400)]
communications: Add email preferences.
* CRM/Memberdashboard/Page/Communications.php
(CRM_Memberdashboard_Page_Communications) [contactId, loadContact,
isPOST, postProcess): New methods.
[run]: Disable group editing for now. Add 'contact' and 'mailFormats'
template variables.
* templates/CRM/Memberdashboard/Page/Communications.tpl: Add email
preferences form.
David Thompson [Wed, 22 Oct 2014 16:23:37 +0000 (12:23 -0400)]
info: Add loading spinner.
* assets/js/member-info.js: Remove loading spinner when form is loaded.
* templates/CRM/Memberdashboard/Page/Info.tpl: Add loading spinner.
David Thompson [Wed, 22 Oct 2014 14:30:41 +0000 (10:30 -0400)]
settings: Refactor method.
* CRM/Admin/Form/Setting/MemberDashboard.php
(CRM_Admin_Form_Setting_MemberDashboard) [fetchProfiles]: New method.
[buildQuickForm]: Use it.
David Thompson [Tue, 21 Oct 2014 14:04:05 +0000 (10:04 -0400)]
Add a settings page.
* CRM/Admin/Form/Setting/MemberDashboard.php: New file.
* templates/CRM/Admin/Form/Setting/MemberDashboard.tpl: New file.
* xml/Menu/memberdashboard.xml: Add menu entry.
David Thompson [Mon, 20 Oct 2014 18:05:28 +0000 (14:05 -0400)]
js: Use the correct profile ID on info page.
* assets/js/member-info.js: s/profile_id/profileId/
David Thompson [Mon, 20 Oct 2014 17:17:53 +0000 (13:17 -0400)]
Define constant for settings group name.
* memberdashboard.php (MEMBERDASHBOARD_SETTINGS_GROUP): New constant.
* CRM/Memberdashboard/Page/Info.php (CRM_Memberdashboard_Page_Info.run):
Use it.
David Thompson [Mon, 20 Oct 2014 16:03:57 +0000 (12:03 -0400)]
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.
David Thompson [Thu, 9 Oct 2014 14:42:19 +0000 (10:42 -0400)]
Load user info profile via AJAX call.
Present a link to the user when JavaScript is disabled.
David Thompson [Thu, 2 Oct 2014 14:51:05 +0000 (10:51 -0400)]
Use API to fetch contact.
* CRM/Memberdashboard/Page/MemberDashboard.php (loadContact): Use API.
(run): '$contact' is now an array.
David Thompson [Thu, 2 Oct 2014 14:32:53 +0000 (10:32 -0400)]
Add info page boilerplate.
* CRM/Memberdashboard/Page/Info.php: New file.
* templates/CRM/Memberdashboard/Page/Info.tpl: New file.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Add link.
* xml/Menu/memberdashboard.xml (<menu>): Add item for info page.
David Thompson [Wed, 1 Oct 2014 20:54:21 +0000 (16:54 -0400)]
Add communications page.
* CRM/Memberdashboard/Page/Communications.php: New file.
* templates/CRM/Memberdashboard/Page/Communications.tpl: New file.
* templates/CRM/Memberdashboard/Page/Element/CiviEvent.tpl: New file.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Link to new page.
* xml/Menu/memberdashboard.xml (<menu>): Add item for new page.
David Thompson [Wed, 1 Oct 2014 20:48:34 +0000 (16:48 -0400)]
Factor out a helper class from the member dashboard.
* CRM/Memberdashboard/Page/ComponentHelper.php: New file.
* CRM/Memberdashboard/Page/MemberDashboard.php ($components): Delete
variable.
(loadComponents, buildDashboardElements): Delete methods.
(__construct): Don't load dashboard components;
(run): Use helper class.
David Thompson [Wed, 1 Oct 2014 16:04:01 +0000 (12:04 -0400)]
Add placeholder markup for referral code section.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Add it.
David Thompson [Wed, 1 Oct 2014 15:50:42 +0000 (11:50 -0400)]
Fix docstring.
* CRM/Memberdashboard/Page/MemberDashboard.php (loadComponents): Fix
'@return' in docstring.
David Thompson [Wed, 1 Oct 2014 15:41:43 +0000 (11:41 -0400)]
Factor out the side-effects of building the bashboard.
* CRM/Memberdashboard/Page/MemberDashboard.php ($components): New
variable.
(__construct): Load components.
(loadComponents): New method.
(buildDashboard): Renamed.
(buildDashboardElements): Remove side-effects.
(run): Call 'run' method on dashboard components.
David Thompson [Wed, 1 Oct 2014 15:26:17 +0000 (11:26 -0400)]
Remove 'Receipt sent' column from contributions table.
* templates/CRM/Memberdashboard/Page/Element/CiviContribute.tpl: Remove column.
David Thompson [Wed, 1 Oct 2014 15:22:02 +0000 (11:22 -0400)]
Copy dashboard element templates from CiviCRM core.
These will be modified to our needs later.
* CRM/Memberdashboard/Page/MemberDashboard.php (buildDashboard): Change
template path.
* templates/CRM/Memberdashboard/Page/Element/CiviContribute.tpl: New file.
* templates/CRM/Memberdashboard/Page/Element/CiviMember.tpl: New file.
David Thompson [Wed, 1 Oct 2014 15:20:44 +0000 (11:20 -0400)]
Remove debugging code.
* templates/CRM/Memberdashboard/Page/DashboardElement.tpl: Remove it.
David Thompson [Wed, 1 Oct 2014 15:06:42 +0000 (11:06 -0400)]
Add license headers to files.
* README.md (Copyright): Tweak licensing info.
* CRM/Memberdashboard/Page/MemberDashboard.php: Add license header.
* templates/CRM/Memberdashboard/Page/DashboardElement.tpl: Ditto.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Ditto.
David Thompson [Wed, 1 Oct 2014 14:21:48 +0000 (10:21 -0400)]
Fix page title.
* CRM/Memberdashboard/Page/MemberDashboard.php (run): Set page title
after calling the superclass method.
David Thompson [Wed, 1 Oct 2014 14:14:31 +0000 (10:14 -0400)]
Display CiviMember and CiviContribute dashboard elements.
* CRM/Memberdashboard/Page/MemberDashboard.php (__construct): Assign the
result of 'loadContact'.
(loadContact): Return the contact rather than assigning it to a
variable.
(buildDashboard): Return an array with CiviMember and CiviContribute
dashboard elements.
(pageTitle): New method.
(run): Use 'pageTitle' method. Assign dashboard elements for rendering.
* templates/CRM/Memberdashboard/Page/DashboardElement.tpl: New file.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Render
CiviMember and CiviContribute elements.
David Thompson [Tue, 30 Sep 2014 20:04:07 +0000 (16:04 -0400)]
Render the CiviMember component on the dashboard.
* CRM/Memberdashboard/Page/MemberDashboard.php (buildDashboard): New
method.
* templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Render component.
David Thompson [Tue, 30 Sep 2014 19:04:35 +0000 (15:04 -0400)]
Add MemberDashboard page boilerplate.
* CRM/Memberdashboard/Page/MemberDashboard.php: New file.
* templates/CRM/Memberdashbord/Page/MemberDashboard.tpl: New file.
* xml/Menu/memberdashboard.xml: New file.
David Thompson [Mon, 29 Sep 2014 19:54:36 +0000 (15:54 -0400)]
hacking: Add 'Development Requirements' section.
* HACKING.md ('Development Requirements'): New section.
David Thompson [Mon, 29 Sep 2014 16:26:31 +0000 (12:26 -0400)]
Add civix generated boilerplate.
* COPYING: Use civix auto-generated license text.
* COYPING.exception: Delete it.
* info.xml: New file.
* memberdashboard.civix.php: New file.
* memberdashboard.php: New file.
David Thompson [Fri, 26 Sep 2014 15:54:59 +0000 (11:54 -0400)]
Add coding guidelines file.
* HACKING.md: New file.
David Thompson [Fri, 26 Sep 2014 15:54:24 +0000 (11:54 -0400)]
README: Add CiviCRM licensing exception.
* README.md (Copyright): Add information about exception.
* COPYING.exception: New file.
David Thompson [Fri, 26 Sep 2014 15:20:59 +0000 (11:20 -0400)]
README: Indicate that the Affero clause is in the license.
* README.md (Copyright): Add 'Affero'.
David Thompson [Fri, 26 Sep 2014 15:19:45 +0000 (11:19 -0400)]
Add README and license.
* COPYING: New file.
* README.md: New file.