Tim Otten [Sat, 20 Dec 2014 01:44:47 +0000 (17:44 -0800)]
CRM-15578 - Add navigation entries for A/B testing
Tim Otten [Fri, 19 Dec 2014 11:39:44 +0000 (03:39 -0800)]
Merge pull request #4753 from totten/master-civimail-status
CRM-15578 - crmMailing - Pageflow changes
Tim Otten [Fri, 19 Dec 2014 08:59:46 +0000 (00:59 -0800)]
CRM-15578 - Redirect "civicrm/mailing/send" to "civicrm/a/#/mailing/new"
Tim Otten [Fri, 19 Dec 2014 08:27:59 +0000 (00:27 -0800)]
CRM-15578 - crmMailing(AB) - Refine pageflow:
* "Submit" => leave('scheduled')
* "Delete" => leave('unscheduled')
* "Save" => updateUrl()
* "Send Test" => updateUrl()
This commit also switches back to managing pageflow from the controller
(rather than calling .then(leave) in the .html). At the moment, it seems
more useful to have all the different composition screens follow the same
pageflow (rather than allowing them to have different pageflows).
Tim Otten [Fri, 19 Dec 2014 08:12:28 +0000 (00:12 -0800)]
edit-split.html - Remove unused file
Tim Otten [Fri, 19 Dec 2014 07:59:22 +0000 (23:59 -0800)]
Remove unused imports
Tim Otten [Fri, 19 Dec 2014 02:42:22 +0000 (18:42 -0800)]
CRM-15578 - crmMailing(AB) - Submission & status tracking
When loading or submitting, determine the status of any jobs tied to this mailing.
When attempting to edit a submitted mailing, display a message instead of a form.
Change the technique for updating URL -- instead of watching 'mailing.id',
explicitly call updateUrl after saving. This ensures a consistent, linear
sequence of operations. (Note: The watch technique was useful when there
were different variations of save() in EditMailingCtrl and
PreviewMailingCtrl, but we eliminated PreviewMailingCtrl, so it's much
easier to manage the dataflows in a centralized fashion.)
Tim Otten [Fri, 19 Dec 2014 00:42:38 +0000 (16:42 -0800)]
Merge pull request #4745 from totten/master-civimail-previewbug
CRM-15578 - crmMailing - Fix for sending tests
Tim Otten [Thu, 18 Dec 2014 08:11:32 +0000 (00:11 -0800)]
CRM-15578 - crmMailing - Fix for sending tests
The basic problem is that one must save before sending a test -- and the
"save" mechanics are necessarily different for crmMailing and crmMailingAB.
This commit resolves the problem by refactoring to eliminate PreviewMailingCtrl.
Now:
* Ultimate authority for deciding how to perform a preview or test mailing lies with
the main page (EditMailingCtrl, crmMailing/edit.html, CrmMailingABEditCtrl, crmMailingAB/edit.html)
* We don't want it to be difficult for the main page to do that, so we define two reusable
components -- directive crmMailingBlockPreview and service crmMailingPreviewMgr.
Tim Otten [Thu, 18 Dec 2014 07:09:15 +0000 (23:09 -0800)]
Merge pull request #4744 from totten/master-civimail-rename
CRM-15578 - Rename crmMailing2, crmMailingAB2 to remove "2"
Tim Otten [Thu, 18 Dec 2014 06:54:48 +0000 (22:54 -0800)]
CRM-15578 - Rename crmMailingAB2 crmMailingAB
Tim Otten [Thu, 18 Dec 2014 06:49:03 +0000 (22:49 -0800)]
CRM-15578 - Rename crmMailingAB2 crmMailingAB
Tim Otten [Thu, 18 Dec 2014 06:46:26 +0000 (22:46 -0800)]
CRM-15578 - Rename crmMailingAB to crmMailingAB.orig
Tim Otten [Thu, 18 Dec 2014 06:38:27 +0000 (22:38 -0800)]
CRM-15578 - Rename crmMailing2 to crmMailing
Tim Otten [Thu, 18 Dec 2014 06:33:54 +0000 (22:33 -0800)]
CRM-15578 - Rename crmMailing2 to crmMailing
Tim Otten [Thu, 18 Dec 2014 06:31:34 +0000 (22:31 -0800)]
CRM-15578 - Rename crmMailing2 to crmMailing
Tim Otten [Thu, 18 Dec 2014 06:22:02 +0000 (22:22 -0800)]
CRM-15578 - Remove crmMailing
Tim Otten [Thu, 18 Dec 2014 05:38:38 +0000 (21:38 -0800)]
Merge pull request #4731 from totten/master-civimail-abtest3
CRM-15578 - Fix recipients. Improve API.
Tim Otten [Wed, 17 Dec 2014 03:04:10 +0000 (19:04 -0800)]
CRM-15578 - Mailing API - Move submit() logic from client-side to server-side
This makes it easier to re-use (e.g. submitting the constituents of an A/B
test) and easier to secure (e.g. when using CiviMail advanced workflow).
Tim Otten [Wed, 17 Dec 2014 01:41:06 +0000 (17:41 -0800)]
CRM-15578 - MailingAB API - Test recipients_update more thoroughly
Tim Otten [Wed, 17 Dec 2014 01:21:16 +0000 (17:21 -0800)]
CRM-15578 - MailingAB API - Propagate deletion to any included mailings.
Tim Otten [Wed, 17 Dec 2014 00:51:53 +0000 (16:51 -0800)]
Cleanup
Tim Otten [Tue, 16 Dec 2014 01:03:45 +0000 (17:03 -0800)]
CRM-15578 - crmMailingAB2 - Fix recipients field. DRY.
Tim Otten [Tue, 16 Dec 2014 01:03:20 +0000 (17:03 -0800)]
crmMailingAB2 - Comment
Kurund Jalmi [Mon, 15 Dec 2014 12:22:14 +0000 (17:52 +0530)]
Merge pull request #4716 from totten/master-civimail-abtest2
CRM-15578 - Cleanup & basic AB testing
Tim Otten [Sat, 13 Dec 2014 00:27:23 +0000 (16:27 -0800)]
crmMailing2 - Debugging tweaks
These debug tweaks are useful for now... but should probably be removed
before 4.6.0.
Tim Otten [Mon, 15 Dec 2014 04:45:50 +0000 (20:45 -0800)]
crmMailingAB2 - Add scheduling UI
Tim Otten [Mon, 15 Dec 2014 09:16:20 +0000 (01:16 -0800)]
crmMailing2 - Convert controller EditScheduleCtrl to directive crmMailingRadioDate
Tim Otten [Mon, 15 Dec 2014 04:20:33 +0000 (20:20 -0800)]
crmMailingAB2 - Temporarily disable attachment UI. (Frontend mostly works, but backend is incomplete.)
Tim Otten [Mon, 15 Dec 2014 04:10:02 +0000 (20:10 -0800)]
CRM-15578 - crmMailingAB - Fill in "Setup" and "Targetting" tabs. Implement crmMailingAbBlockSetup directive.
Tim Otten [Mon, 15 Dec 2014 02:26:10 +0000 (18:26 -0800)]
CRM-15578 - Implement crmMailingAbSlider
Tim Otten [Sun, 14 Dec 2014 21:57:20 +0000 (13:57 -0800)]
CRM-15578 - crmMailingAB2 - Implement separate composition screens
Tim Otten [Sun, 14 Dec 2014 22:32:46 +0000 (14:32 -0800)]
CRM-15578 - body_text, body_html - Allow multiple instances
This commit removes the previous crmUiId() service and makes consistent use
of the newer, more adaptible crmUiId and crmUiIdScope directives.
Tim Otten [Sun, 14 Dec 2014 21:49:41 +0000 (13:49 -0800)]
CRM-15578 - crmMailingAB2 - Make crmMailingAbBlockMailing more consistent+flexible
Tim Otten [Sun, 14 Dec 2014 08:42:31 +0000 (00:42 -0800)]
CrmAttachment - Fix bug wherein multiple CrmAttachments mix up their targets.
Tim Otten [Sun, 14 Dec 2014 08:21:28 +0000 (00:21 -0800)]
CRM-15578 - crmMailingAB2 - Support for attachments
Tim Otten [Sun, 14 Dec 2014 02:36:03 +0000 (18:36 -0800)]
CRM-15578 - crmMailingAB2 - Implement joint composition screen (for "Subject" and "From" testing)
Tim Otten [Sun, 14 Dec 2014 07:25:44 +0000 (23:25 -0800)]
CRM-15578 - crmUiWizard - Allow conditional steps
Tim Otten [Sun, 14 Dec 2014 03:15:56 +0000 (19:15 -0800)]
CRM-15578 - crmMailing2 - Fix regression in "From Address".
Also: Make convention compatible with editing multiple mailings.
Tim Otten [Sun, 14 Dec 2014 02:19:12 +0000 (18:19 -0800)]
CRM-15578 - MsgTemplateCtrl - Don't hardcode dependence on upstream "scope.mailing"
Tim Otten [Sat, 13 Dec 2014 04:12:43 +0000 (20:12 -0800)]
CRM-15578 - crmMailingAB2 - Add testing_criteria_id
Tim Otten [Sat, 13 Dec 2014 02:36:16 +0000 (18:36 -0800)]
CRM-15578 - crmAttachments - Convert include+ctrl to a directive
Tim Otten [Sat, 13 Dec 2014 00:30:15 +0000 (16:30 -0800)]
CRM-15578 - crmMailing2 - Extract misc, simple directives
<div crm-mailing-block-header-footer crm-mailing="mailing"/>
<div crm-mailing-block-mailing crm-mailing="mailing"/>
<div crm-mailing-block-preview crm-mailing="mailing"/>
<div crm-mailing-block-publication crm-mailing="mailing"/>
<div crm-mailing-block-responses crm-mailing="mailing"/>
<div crm-mailing-block-review crm-mailing="mailing"/>
<div crm-mailing-block-schedule crm-mailing="mailing"/>
<div crm-mailing-block-summary crm-mailing="mailing"/>
<div crm-mailing-block-tracking crm-mailing="mailing"/>
<div crm-mailing-body-html crm-mailing="mailing" />
<div crm-mailing-body-text crm-mailing="mailing" />
Tim Otten [Fri, 12 Dec 2014 09:17:25 +0000 (01:17 -0800)]
CRM-15578 - Refactor crmUiField
This splits crmUiField into a few smaller pieces: crmUiField, crmUiId,
crmUiIdScope, crmUiFor. This loosens the coupling and also makes it easier
to create reusable components which combine them.
Tim Otten [Fri, 12 Dec 2014 23:12:59 +0000 (15:12 -0800)]
CRM-15578 - crmUiSelect - Update to work with ngModel
Tim Otten [Fri, 12 Dec 2014 06:07:08 +0000 (22:07 -0800)]
crmMailing2 - Autoformat
Tim Otten [Fri, 12 Dec 2014 06:02:09 +0000 (22:02 -0800)]
attachments.html - Remove one level of indirection
Tim Otten [Fri, 12 Dec 2014 05:47:22 +0000 (21:47 -0800)]
CRM_Mailing_Info - Fix warning
Tim Otten [Fri, 12 Dec 2014 00:26:01 +0000 (16:26 -0800)]
CRM-15578 - Add crmMailingAB2 module (based on crmMailingAB). Add skeletal list/edit screens.
Tim Otten [Fri, 12 Dec 2014 02:47:23 +0000 (18:47 -0800)]
CRM-15578 - Add crmMailingMgr.mergeInto()
This should be useful for creating different variations on a mailings in A/B
testing.
Tim Otten [Fri, 12 Dec 2014 00:12:57 +0000 (16:12 -0800)]
Merge pull request #4699 from totten/master-civimail-rte
CRM-15578 - Implement crmUiRichtext. Update crmMailing2 UI.
Tim Otten [Thu, 11 Dec 2014 02:26:56 +0000 (18:26 -0800)]
CRM-15578 - crmMailing2 - Respect $config->replyTo option
Tim Otten [Thu, 11 Dec 2014 01:54:35 +0000 (17:54 -0800)]
CRM-15578 - Implement crmUiRichtext; incorporate into crmMailing2 UI.
Tim Otten [Thu, 11 Dec 2014 01:17:18 +0000 (17:17 -0800)]
CRM-15578 - Extract crmUiId
Tim Otten [Wed, 10 Dec 2014 21:25:05 +0000 (13:25 -0800)]
Merge pull request #4681 from totten/master-civimail-attachment
CRM-15578 - crmAttachments - Add support for attaching files to mailings
Tim Otten [Tue, 9 Dec 2014 08:16:09 +0000 (00:16 -0800)]
CRM-15578 - crmMailing2 - Incorporate crmAttachments
Tim Otten [Tue, 9 Dec 2014 08:15:05 +0000 (00:15 -0800)]
CRM-15578 - crmAttachment - Angular module for file attachments
Tim Otten [Tue, 9 Dec 2014 23:52:56 +0000 (15:52 -0800)]
CRM-15578 - crmUiVisible - Add a helper for hiding elements while preserving layout
ngShow/ngHide use "display:none" to hide elements -- which modifies layout.
That's normally appropriate, but sometimes one wants to hide things without
changing layout ("visibility:hidden").
Tim Otten [Tue, 9 Dec 2014 03:03:29 +0000 (19:03 -0800)]
CRM_Core_Transaction - Doc fix
Tim Otten [Tue, 9 Dec 2014 02:58:58 +0000 (18:58 -0800)]
CRM-15578 - civicrm/ajax/attachment - Add endpoint for creating attachments using HTTP POST (multipart)
Tim Otten [Sat, 6 Dec 2014 06:44:41 +0000 (22:44 -0800)]
CRM-15578 - Attachment API - Add support for CRUD'ing files
The File API is entirely inadequate to managing files. The Attachment API
provides a pseudo-entity which represents a record in civicrm_file combined
with a record in civicrm_entity_file as well as the underlying file content.
(See also: discussions on civicrm-api mailing list circa early Dec 2014.)
Tim Otten [Sun, 7 Dec 2014 09:36:15 +0000 (01:36 -0800)]
CRM-15578 - StaticProvider, etal - Prep for unit-tests of Attachment API
Tim Otten [Fri, 5 Dec 2014 01:13:44 +0000 (17:13 -0800)]
Merge pull request #4648 from totten/master-civimail-misc
CRM-15578 - crmMailing2 - Implement multiple sections
Tim Otten [Wed, 3 Dec 2014 01:17:16 +0000 (17:17 -0800)]
CRM-15578 - Add crmStatus() service as a simpler wrapper for CRM.status()
Tim Otten [Tue, 2 Dec 2014 23:59:27 +0000 (15:59 -0800)]
CRM-15578 - crmMailing2 - Basic styling for "Submit Mailing" in wizard-style layouts
Tim Otten [Wed, 3 Dec 2014 02:32:49 +0000 (18:32 -0800)]
CRM-15578 - crmMailingMgr - Implement submit(). Add comments.
Tim Otten [Mon, 1 Dec 2014 19:19:23 +0000 (11:19 -0800)]
CRM-15578 - crmMailing2 - Implement "schedule.html"
Tim Otten [Tue, 2 Dec 2014 23:34:56 +0000 (15:34 -0800)]
CRM-15578 - crmUiDate, crmDateTime, crmTime - Don't both with crmWatcher
Tim Otten [Mon, 1 Dec 2014 19:18:18 +0000 (11:18 -0800)]
CRM-15578 - Add directives (crmUiDate, crmUiTime, crmUiDateTime)
Tim Otten [Mon, 1 Dec 2014 21:06:05 +0000 (13:06 -0800)]
CRM-15578 - Add crmUtil module with crmWatcher and crmLog
Tim Otten [Mon, 1 Dec 2014 03:06:25 +0000 (19:06 -0800)]
Remove <crm-ui-label>
Tim Otten [Mon, 1 Dec 2014 01:40:57 +0000 (17:40 -0800)]
CRM-15578 - Change table layouts to <crm-ui-field> directive. Remove <crm-ui-label> calls.
Tim Otten [Sun, 30 Nov 2014 16:55:19 +0000 (08:55 -0800)]
CRM-15578 - crmMailing2 - Implement fields/msg_template_id.html
Tim Otten [Sun, 30 Nov 2014 21:04:45 +0000 (13:04 -0800)]
CRM-15578 - Add <crm-ui-select> directive
When working with msg_template_id and <ui-jq> directive, changes in the
data-model don't seem to reflect in the select2 widget.
Tim Otten [Sun, 30 Nov 2014 03:39:20 +0000 (19:39 -0800)]
crmMailing2 - Cleanup
Tim Otten [Sun, 30 Nov 2014 01:58:08 +0000 (17:58 -0800)]
CRM-15578 - crmMailing2 - Implement "review.html"
Tim Otten [Sun, 30 Nov 2014 23:52:49 +0000 (15:52 -0800)]
CRM-15578 - Add <crm-ui-field> directive
Tim Otten [Tue, 25 Nov 2014 01:48:23 +0000 (17:48 -0800)]
Merge pull request #4604 from totten/master-civimail-addrs
CRM-15578 - crmMailing2 - Implement "Save Draft" and "Delete Draft"
Tim Otten [Mon, 24 Nov 2014 09:57:42 +0000 (01:57 -0800)]
CRM-15578 - Fix inconsistent generation of recipient list
The recipient preview worked well with new mailings but was flaky with saved
mailings. New mailings relied the api.default for "api.mailing_job.create"
which was not included with existing mailings. This patch takes explicit
control over "api.mailing_job.create".
Tim Otten [Mon, 24 Nov 2014 06:52:39 +0000 (22:52 -0800)]
CRM-15578 - crmMailing2 - Implement "Save Draft" and "Delete "Draft"
Use promises to chain actions in edit*.html. Compared to the old code, this
fits better with async operations and handles errors more gracefully.
Tim Otten [Mon, 24 Nov 2014 03:51:33 +0000 (19:51 -0800)]
CRM-15578 - crmMailing2 - Fix loading+saving of from+reply-to addresses.
In the current schema design, this is necessarily a bit messy.
Tim Otten [Mon, 24 Nov 2014 03:54:04 +0000 (19:54 -0800)]
Merge pull request #4596 from totten/master-civimail-sendtest
[DNM] CRM-15578 - CiviMail - Cleanup/implement support for sending test msgs
Tim Otten [Mon, 24 Nov 2014 02:33:26 +0000 (18:33 -0800)]
CRM-15578 - crmMailing2 - When ID of new mailing is established, update navbar.
Tim Otten [Mon, 24 Nov 2014 01:36:19 +0000 (17:36 -0800)]
CRM-15578 - crmMailing2 - Fix loading of recipient-group IDs
Tim Otten [Mon, 24 Nov 2014 01:35:23 +0000 (17:35 -0800)]
CRM-15578 - Mailing.create - Fix updates to "groups" and "mailings". Add test.
Tim Otten [Sat, 22 Nov 2014 07:06:44 +0000 (23:06 -0800)]
CRM-15578 - crmMailing2 - Set default test email address to current user
Tim Otten [Sat, 22 Nov 2014 07:03:47 +0000 (23:03 -0800)]
crmMailing2 - Tweak syntax
Tim Otten [Sat, 22 Nov 2014 07:02:30 +0000 (23:02 -0800)]
CRM-15578 - crmMailing2 - Tweak "Preview" status notification
Tim Otten [Sat, 22 Nov 2014 02:04:20 +0000 (18:04 -0800)]
CRM-15578 - crmMailing2 - Implement "Send test" buttons
Tim Otten [Sat, 22 Nov 2014 01:24:08 +0000 (17:24 -0800)]
CRM-15578 - api_v3_MailingTest - Make testMailerSendTest_email more robust
Tim Otten [Fri, 21 Nov 2014 22:08:47 +0000 (14:08 -0800)]
CRM-15578 - api_v3_MailingTest - Prettify
Now that this test class calls useTransaction(), it's not necessary to
garbage-collect specific records by ID, so there's no need to maintain an ID
list.
Tim Otten [Fri, 21 Nov 2014 22:03:23 +0000 (14:03 -0800)]
CRM-15578 - Mailing API - Add unit-test for send_test with group ID
Tim Otten [Fri, 21 Nov 2014 22:02:50 +0000 (14:02 -0800)]
CiviUnitTestCase - Add helper useTransaction()
Tim Otten [Fri, 21 Nov 2014 21:06:30 +0000 (13:06 -0800)]
CRM-15578 - Mailing API - Fix SQL escaping
Note: The offending code only exists in a feature branch -- it was never
merged into mainline.
Tim Otten [Fri, 21 Nov 2014 20:38:55 +0000 (12:38 -0800)]
CRM-15578 - crmMailing2 - Cleanup logging. Improve backtraces.
Tim Otten [Fri, 21 Nov 2014 20:29:18 +0000 (12:29 -0800)]
Merge pull request #4593 from totten/master-civimail-preview
CRM-15578 - CiviMail - Add preview block. Cleanup.
Tim Otten [Tue, 11 Nov 2014 01:08:33 +0000 (17:08 -0800)]
CRM-15578 - crmMailing2 - Add "preview.html"
Tim Otten [Fri, 21 Nov 2014 03:26:38 +0000 (19:26 -0800)]
CRM-15578 - crmMailing2 - Extract crmMailingMgr service
Tim Otten [Fri, 21 Nov 2014 04:53:54 +0000 (20:53 -0800)]
crmApi - Use Angular's $q deferred; report errors correctly
Tim Otten [Fri, 21 Nov 2014 00:00:54 +0000 (16:00 -0800)]
CRM-15578 - Mailing API - Extend test for "preview" action:
* Assert subject, text, and html
* Use force_rollback; assert no side-effects
* Rename return properties for consistency (eg text => body_text)