return crmMailingMgr.submit($scope.mailing);
})
.then(function () {
- updateUrl();
- return $scope.mailing;
+ leave('scheduled');
})
;
return crmStatus({start: ts('Submitting...'), success: ts('Submitted')}, promise);
// pre-condition: the mailing exists *before* saving attachments to it
return $scope.attachments.save();
})
- .then(function () {
- updateUrl();
- return $scope.mailing;
- })
+ .then(updateUrl)
);
};
$scope.delete = function cancel() {
return crmStatus({start: ts('Deleting...'), success: ts('Deleted')},
crmMailingMgr.delete($scope.mailing)
+ .then(function () {
+ leave('unscheduled')
+ })
);
};
- $scope.leave = function leave() {
- window.location = CRM.url('civicrm/mailing/browse/unscheduled', {
- reset: 1,
- scheduled: 'false'
- });
+ // @param string listingScreen 'archive', 'scheduled', 'unscheduled'
+ function leave(listingScreen) {
+ switch (listingScreen) {
+ case 'archive':
+ window.location = CRM.url('civicrm/mailing/browse/archived', {
+ reset: 1
+ });
+ break;
+ case 'scheduled':
+ window.location = CRM.url('civicrm/mailing/browse/scheduled', {
+ reset: 1,
+ scheduled: 'true'
+ });
+ break;
+ case 'unscheduled':
+ default:
+ window.location = CRM.url('civicrm/mailing/browse/unscheduled', {
+ reset: 1,
+ scheduled: 'false'
+ });
+ }
};
// Transition URL "/mailing/new" => "/mailing/123"
// @return Promise
$scope.delete = function () {
- return crmStatus({start: ts('Deleting...'), success: ts('Deleted')}, abtest.delete());
+ return crmStatus({start: ts('Deleting...'), success: ts('Deleted')}, abtest.delete().then(leave));
};
// @return Promise
$scope.submit = function submit() {
- return crmStatus({start: ts('Saving...'), success: ''}, abtest.save().then(updateUrl))
+ return crmStatus({start: ts('Saving...'), success: ''}, abtest.save())
.then(function () {
return crmStatus({start: ts('Submitting...'), success: ts('Submitted')}, $q.all([
crmMailingMgr.submit(abtest.mailings.a),
crmMailingMgr.submit(abtest.mailings.b)
]));
- });
+ })
+ .then(leave);
};
+ function leave() {
+ console.log('leave from', $location.path(), ' to abtest');
+ $location.path('abtest');
+ $location.replace();
+ }
+
function updateCriteriaName() {
var criteria = crmMailingABCriteria.get($scope.abtest.ab.testing_criteria_id)
$scope.criteriaName = criteria ? criteria.name : null;
<div crm-mailing-block-preview crm-mailing="mailing" on-preview="previewMailing(mailing, preview.mode)" on-send="sendTest(mailing, attachments, preview.recipient)" />
</div>
- <button ng-click="submit().then(leave)">{{ts('Submit Mailing')}}</button>
+ <button ng-click="submit()">{{ts('Submit Mailing')}}</button>
<button ng-click="save()">{{ts('Save Draft')}}</button>
- <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete().then(leave)">{{ts('Delete Draft')}}</button>
+ <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete()">{{ts('Delete Draft')}}</button>
</div>
</form>
<button ng-click="submit()">{{ts('Submit Mailing')}}</button>
<button ng-click="save()">{{ts('Save Draft')}}</button>
- <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete().then(leave)">{{ts('Delete Draft')}}</button>
+ <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete()">{{ts('Delete Draft')}}</button>
</div>
</form>
<div crm-mailing-block-review crm-mailing="mailing"/>
</div>
<center>
- <a class="crmMailing-submit-button" ng-click="submit().then(leave)">
+ <a class="crmMailing-submit-button" ng-click="submit()">
<div>{{ts('Submit Mailing')}}</div>
</a>
</center>
</div>
<span crm-ui-wizard-buttons style="float:right;">
- <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete().then(leave)">{{ts('Delete Draft')}}</button>
+ <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete()">{{ts('Delete Draft')}}</button>
<button ng-click="save()">{{ts('Save Draft')}}</button>
</span>
</div>
</div>
<span crm-ui-wizard-buttons style="float:right;">
- <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete().then(leave)">{{ts('Delete Draft')}}</button>
+ <button crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}" on-yes="delete()">{{ts('Delete Draft')}}</button>
<button ng-click="save()">{{ts('Save Draft')}}</button>
</span>
</div>
}"
crm-abtest="abtest"></div>
<center>
- <a class="crmMailing-submit-button" ng-click="submit().then(leave)">
+ <a class="crmMailing-submit-button" ng-click="submit()">
<div>{{ts('Submit Mailing')}}</div>
</a>
</center>
<span crm-ui-wizard-buttons style="float:right;">
<button
crm-confirm="{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}"
- on-yes="delete().then(leave)">{{ts('Delete Draft')}}
+ on-yes="delete()">{{ts('Delete Draft')}}
</button>
<button ng-click="save()">{{ts('Save Draft')}}</button>
</span>