|
453 | 453 |
|
454 | 454 | angular.module('crmMailing').factory('crmMailingStats', function (crmApi, crmLegacy) {
|
455 | 455 | var statTypes = [
|
456 |
| - // {name: 'Recipients', title: ts('Intended Recipients'), searchFilter: '', eventsFilter: '&event=queue'}, |
457 |
| - {name: 'Delivered', title: ts('Successful Deliveries'), searchFilter: '&mailing_delivery_status=Y', eventsFilter: '&event=delivered'}, |
458 |
| - {name: 'Opened', title: ts('Tracked Opens'), searchFilter: '&mailing_open_status=Y', eventsFilter: '&event=opened'}, |
459 |
| - {name: 'Unique Clicks', title: ts('Click-throughs'), searchFilter: '&mailing_click_status=Y', eventsFilter: '&event=click&distinct=1'}, |
460 |
| - // {name: 'Forward', title: ts('Forwards'), searchFilter: '&mailing_forward=1', eventsFilter: '&event=forward'}, |
461 |
| - // {name: 'Replies', title: ts('Replies'), searchFilter: '&mailing_reply_status=Y', eventsFilter: '&event=reply'}, |
462 |
| - {name: 'Bounces', title: ts('Bounces'), searchFilter: '&mailing_delivery_status=N', eventsFilter: '&event=bounce'}, |
463 |
| - {name: 'Unsubscribers', title: ts('Unsubscribes'), searchFilter: '&mailing_unsubscribe=1', eventsFilter: '&event=unsubscribe'} |
464 |
| - // {name: 'OptOuts', title: ts('Opt-Outs'), searchFilter: '&mailing_optout=1', eventsFilter: '&event=optout'} |
| 456 | + // {name: 'Recipients', title: ts('Intended Recipients'), searchFilter: '', eventsFilter: '&event=queue', reportType: 'detail', reportFilter: ''}, |
| 457 | + {name: 'Delivered', title: ts('Successful Deliveries'), searchFilter: '&mailing_delivery_status=Y', eventsFilter: '&event=delivered', reportType: 'detail', reportFilter: '&delivery_status_value=successful'}, |
| 458 | + {name: 'Opened', title: ts('Tracked Opens'), searchFilter: '&mailing_open_status=Y', eventsFilter: '&event=opened', reportType: 'opened', reportFilter: ''}, |
| 459 | + {name: 'Unique Clicks', title: ts('Click-throughs'), searchFilter: '&mailing_click_status=Y', eventsFilter: '&event=click&distinct=1', reportType: 'clicks', reportFilter: ''}, |
| 460 | + // {name: 'Forward', title: ts('Forwards'), searchFilter: '&mailing_forward=1', eventsFilter: '&event=forward', reportType: 'detail', reportFilter: '&is_forwarded_value=1'}, |
| 461 | + // {name: 'Replies', title: ts('Replies'), searchFilter: '&mailing_reply_status=Y', eventsFilter: '&event=reply', reportType: 'detail', reportFilter: '&is_replied_value=1'}, |
| 462 | + {name: 'Bounces', title: ts('Bounces'), searchFilter: '&mailing_delivery_status=N', eventsFilter: '&event=bounce', reportType: 'bounce', reportFilter: ''}, |
| 463 | + {name: 'Unsubscribers', title: ts('Unsubscribes'), searchFilter: '&mailing_unsubscribe=1', eventsFilter: '&event=unsubscribe', reportType: 'detail', reportFilter: '&is_unsubscribed_value=1'}, |
| 464 | + // {name: 'OptOuts', title: ts('Opt-Outs'), searchFilter: '&mailing_optout=1', eventsFilter: '&event=optout', reportType: 'detail', reportFilter: ''} |
465 | 465 | ];
|
466 | 466 |
|
467 | 467 | return {
|
|
505 | 505 | var retParams = returnPath ? '&context=angPage&angPage=' + returnPath : '';
|
506 | 506 | return crmLegacy.url('civicrm/mailing/report/event',
|
507 | 507 | 'reset=1&mid=' + mailing.id + statType.eventsFilter + retParams);
|
508 |
| - |
509 | 508 | case 'search':
|
510 | 509 | return crmLegacy.url('civicrm/contact/search/advanced',
|
511 | 510 | 'force=1&mailing_id=' + mailing.id + statType.searchFilter);
|
512 |
| - |
513 |
| - // TODO: case 'report': |
| 511 | + case 'report': |
| 512 | + var reportIds = CRM.crmMailing.reportIds; |
| 513 | + return crmLegacy.url('civicrm/report/instance/' + reportIds[statType.reportType], |
| 514 | + 'reset=1&mailing_id_value=' + mailing.id + statType.reportFilter); |
514 | 515 | default:
|
515 | 516 | return null;
|
516 | 517 | }
|
|
0 commit comments