Commit | Line | Data |
---|---|---|
3ad2ea69 TO |
1 | <!-- |
2 | Implicit Controller: CrmMailingABEditCtrl | |
3 | --> | |
ac72f987 | 4 | <div class="messages help"> |
f9c5f498 CW |
5 | <div class="msg-title crm-title">{{:: ts('A/B Test Results') }}: {{abtest.ab.name}}</div> |
6 | {{:: ts('This report displays the current results for your A/B test. You can return to this page to view the latest statistics by navigating to "Manage A/B Tests" and clicking "Results".') }} | |
ac72f987 | 7 | </div> |
57194571 | 8 | <div ng-controller="CrmMailingABReportCtrl"> |
8f0fcb3e | 9 | <table class="crm-mailing-ab-table"> |
deea897f TO |
10 | <thead> |
11 | <tr ng-show="abtest.ab.status == 'Testing'"> | |
12 | <td></td> | |
13 | <td ng-repeat="am in getActiveMailings()"> | |
f9c5f498 | 14 | <button crm-icon="fa-trophy" ng-click="selectWinner(am.name)">{{:: ts('Select as Final') }}</button> |
deea897f | 15 | </td> |
c65ef09e | 16 | <td></td> |
deea897f TO |
17 | </tr> |
18 | </thead> | |
19 | ||
20 | <thead> | |
21 | <tr> | |
f9c5f498 | 22 | <th>{{:: ts('Delivery') }}</th> |
908f0f77 | 23 | <th ng-repeat="am in getActiveMailings()" class="crm-mailing-ab-col">{{am.title}}</th> |
f9c5f498 | 24 | <th ng-show="abtest.ab.status == 'Testing'">{{:: ts('Final') }}</th> |
908f0f77 TO |
25 | </tr> |
26 | </thead> | |
27 | ||
28 | <tbody> | |
29 | <tr> | |
f9c5f498 | 30 | <td>{{:: ts('Status') }}</td> |
908f0f77 TO |
31 | <td ng-repeat="am in getActiveMailings()"> |
32 | <span ng-repeat="job in am.mailing.jobs" ng-hide="job.is_test == 1 || job.parent_id != null">{{job.status}}</span> | |
33 | </td> | |
f9c5f498 | 34 | <td ng-show="abtest.ab.status == 'Testing'">{{:: ts('Not selected') }}</td> |
908f0f77 TO |
35 | </tr> |
36 | <tr> | |
f9c5f498 | 37 | <td>{{:: ts('Scheduled') }}</td> |
908f0f77 TO |
38 | <td ng-repeat="am in getActiveMailings()"> |
39 | <div ng-repeat="job in am.mailing.jobs" ng-hide="job.is_test == 1 || job.parent_id != null">{{job.scheduled_date}}</div> | |
40 | </td> | |
c65ef09e | 41 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
908f0f77 TO |
42 | </tr> |
43 | <tr> | |
f9c5f498 | 44 | <td>{{:: ts('Started at') }}</td> |
908f0f77 TO |
45 | <td ng-repeat="am in getActiveMailings()"> |
46 | <div ng-repeat="job in am.mailing.jobs" ng-hide="job.is_test == 1 || job.parent_id != null">{{job.start_date || ts('Not started')}}</div> | |
47 | </td> | |
c65ef09e | 48 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
908f0f77 TO |
49 | </tr> |
50 | <tr> | |
f9c5f498 | 51 | <td>{{:: ts('Completed at') }}</td> |
908f0f77 TO |
52 | <td ng-repeat="am in getActiveMailings()"> |
53 | <div ng-repeat="job in am.mailing.jobs" ng-hide="job.is_test == 1 || job.parent_id != null">{{job.end_date || ts('Not completed')}}</div> | |
54 | </td> | |
c65ef09e | 55 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
908f0f77 TO |
56 | </tr> |
57 | </tbody> | |
58 | ||
59 | <thead> | |
60 | <tr> | |
f9c5f498 | 61 | <th>{{:: ts('Performance') }}</th> |
deea897f | 62 | <th ng-repeat="am in getActiveMailings()" class="crm-mailing-ab-col">{{am.title}}</th> |
f9c5f498 | 63 | <th ng-show="abtest.ab.status == 'Testing'">{{:: ts('Final') }}</th> |
deea897f TO |
64 | </tr> |
65 | </thead> | |
66 | <tbody> | |
67 | <tr ng-repeat="statType in statTypes"> | |
68 | <td>{{statType.title}}</td> | |
69 | <td ng-repeat="am in getActiveMailings()"> | |
8f685a33 TO |
70 | <a |
71 | class="crm-hover-button action-item" | |
72 | ng-href="{{statUrl(am.mailing, statType, 'search')}}" | |
84fd40f3 | 73 | ng-if="checkPerm('view all contacts') || checkPerm('edit all contacts')" |
8f685a33 | 74 | title="{{ts('Search for contacts using \'%1\'', {1: statType.title})}}" |
77ec5a8d | 75 | crm-icon="fa-search" |
8f685a33 TO |
76 | ></a> |
77 | <a | |
78 | class="crm-hover-button action-item" | |
79 | ng-href="{{statUrl(am.mailing, statType, 'events')}}" | |
80 | title="{{ts('Browse events of type \'%1\'', {1: statType.title})}}" | |
796b4348 | 81 | >{{stats[am.name][statType.name] || ts('n/a')}} </a> {{stats[am.name][rateStats[statType.name]] || ' '}} |
78414681 SL |
82 | <a |
83 | class="crm-hover-button action-item" | |
84 | ng-href="{{statUrl(am.mailing, statType, 'report')}}" | |
7a39e5e9 | 85 | title="{{ts('Reports for \'%1\'', {1: statType.title})}}" |
78414681 SL |
86 | crm-icon="clipboard" |
87 | ></a> | |
deea897f | 88 | </td> |
c65ef09e | 89 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
deea897f TO |
90 | </tr> |
91 | </tbody> | |
92 | ||
360aaa75 TO |
93 | <thead> |
94 | <tr> | |
f9c5f498 | 95 | <th>{{:: ts('Details') }}</th> |
e038321f | 96 | <th ng-repeat="am in getActiveMailings()" class="crm-mailing-ab-col">{{am.title}}</th> |
f9c5f498 | 97 | <th ng-show="abtest.ab.status == 'Testing'">{{:: ts('Final') }}</th> |
360aaa75 TO |
98 | </tr> |
99 | </thead> | |
deea897f | 100 | |
360aaa75 | 101 | <tbody> |
deea897f | 102 | <tr> |
f9c5f498 | 103 | <td>{{:: ts('Mailing Name') }}</td> |
e038321f | 104 | <td ng-repeat="am in getActiveMailings()"> |
deea897f | 105 | {{am.mailing.name}} |
e038321f | 106 | </td> |
c65ef09e | 107 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
32b8b0bf | 108 | </tr> |
deea897f | 109 | <tr> |
f9c5f498 | 110 | <td>{{:: ts('From') }}</td> |
e038321f | 111 | <td ng-repeat="am in getActiveMailings()"> |
deea897f | 112 | "{{am.mailing.from_name}}" <{{am.mailing.from_email}}> |
e038321f | 113 | </td> |
c65ef09e | 114 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
32b8b0bf | 115 | </tr> |
deea897f | 116 | <tr> |
f9c5f498 | 117 | <td>{{:: ts('Subject') }}</td> |
e038321f | 118 | <td ng-repeat="am in getActiveMailings()"> |
deea897f | 119 | {{am.mailing.subject}} |
7173e315 | 120 | </td> |
c65ef09e | 121 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
e2bfadbe | 122 | </tr> |
deea897f | 123 | <tr ng-controller="ViewRecipCtrl"> |
f9c5f498 | 124 | <td>{{:: ts('Recipients') }}</td> |
e038321f | 125 | <td ng-repeat="am in getActiveMailings()"> |
deea897f | 126 | <div ng-show="getIncludesAsString(am.mailing)"> |
f9c5f498 | 127 | <strong>{{:: ts('Include:') }}</strong> {{getIncludesAsString(am.mailing)}} |
deea897f TO |
128 | </div> |
129 | <div ng-show="getExcludesAsString(am.mailing)"> | |
f9c5f498 | 130 | <strong>{{:: ts('Exclude:') }}</strong> <s>{{getExcludesAsString(am.mailing)}}</s> |
deea897f TO |
131 | </div> |
132 | </td> | |
c65ef09e | 133 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
deea897f TO |
134 | </tr> |
135 | <tr> | |
f9c5f498 | 136 | <td>{{:: ts('Content') }}</td> |
deea897f | 137 | <td ng-repeat="am in getActiveMailings()"> |
f9c5f498 CW |
138 | <a crm-icon="fa-television" class="crm-hover-button action-item" ng-click="previewMailing(am.name,'html')" ng-show="am.mailing.body_html">{{:: ts('HTML') }}</a> |
139 | <a crm-icon="fa-file-text-o" class="crm-hover-button action-item" ng-click="previewMailing(am.name,'text')" ng-show="am.mailing.body_text">{{:: ts('Text') }}</a> | |
deea897f | 140 | </td> |
c65ef09e | 141 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
deea897f TO |
142 | </tr> |
143 | <tr> | |
f9c5f498 | 144 | <td>{{:: ts('Attachments') }}</td> |
deea897f TO |
145 | <td ng-repeat="am in getActiveMailings()"> |
146 | <div ng-repeat="file in am.attachments.files"><a ng-href="{{file.url}}" target="_blank">{{file.name}}</a></div> | |
147 | </td> | |
c65ef09e | 148 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
deea897f TO |
149 | </tr> |
150 | <tr> | |
f9c5f498 | 151 | <td>{{:: ts('Tracking') }}</td> |
deea897f | 152 | <td ng-repeat="am in getActiveMailings()"> |
7a39e5e9 | 153 | <div crm-mailing-review-bool crm-on="am.mailing.url_tracking=='1'" crm-title="ts('Click-Throughs')"></div> |
deea897f TO |
154 | <div crm-mailing-review-bool crm-on="am.mailing.open_tracking=='1'" crm-title="ts('Opens')"></div> |
155 | </td> | |
c65ef09e | 156 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
deea897f TO |
157 | </tr> |
158 | <tr> | |
f9c5f498 | 159 | <td>{{:: ts('Responding') }}</td> |
deea897f TO |
160 | <td ng-repeat="am in getActiveMailings()"> |
161 | <div crm-mailing-review-bool crm-on="am.mailing.override_verp=='0'" crm-title="ts('Track Replies')"></div> | |
162 | <div crm-mailing-review-bool crm-on="am.mailing.override_verp=='0' && mailing.forward_replies=='1'" crm-title="ts('Forward Replies')"></div> | |
163 | <div ng-controller="PreviewComponentCtrl"> | |
f9c5f498 CW |
164 | <div ng-show="am.mailing.override_verp == '0' && mailing.auto_responder"><a crm-icon="fa-envelope" class="crm-hover-button action-item" ng-click="previewComponent(ts('Auto-Respond'), am.mailing.reply_id)">{{:: ts('Auto-Respond') }}</a></div> |
165 | <div><a crm-icon="fa-envelope" class="crm-hover-button action-item" ng-click="previewComponent(ts('Opt-out'), am.mailing.optout_id)">{{:: ts('Opt-out') }}</a></div> | |
166 | <div><a crm-icon="fa-envelope" class="crm-hover-button action-item" ng-click="previewComponent(ts('Resubscribe'), am.mailing.resubscribe_id)">{{:: ts('Resubscribe') }}</a></div> | |
167 | <div><a crm-icon="fa-envelope" class="crm-hover-button action-item" ng-click="previewComponent(ts('Unsubscribe'), am.mailing.unsubscribe_id)">{{:: ts('Unsubscribe') }}</a></div> | |
deea897f TO |
168 | </div> |
169 | </td> | |
c65ef09e | 170 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
deea897f TO |
171 | </tr> |
172 | <tr> | |
f9c5f498 | 173 | <td>{{:: ts('Publication') }}</td> |
deea897f TO |
174 | <td ng-repeat="am in getActiveMailings()"> |
175 | {{am.mailing.visibility}} | |
32b8b0bf | 176 | </td> |
c65ef09e | 177 | <td ng-show="abtest.ab.status == 'Testing'"></td> |
360aaa75 TO |
178 | </tr> |
179 | </tbody> | |
deea897f | 180 | |
360aaa75 TO |
181 | </table> |
182 | ||
35d9db5c | 183 | <!-- |
360aaa75 TO |
184 | <div crm-ui-tab-set> |
185 | <div crm-ui-tab id="tab-opens" crm-title="ts('Opens (WIP)')"> | |
186 | <div crm-mailing-ab-stats="{criteria: 'open', split_count: 5}" crm-abtest="abtest"></div> | |
187 | </div> | |
188 | <div crm-ui-tab id="tab-clicks" crm-title="ts('Total Clicks (WIP)')"> | |
189 | <div crm-mailing-ab-stats="{criteria: 'total unique clicks', split_count: 5}" crm-abtest="abtest"></div> | |
190 | </div> | |
191 | </div> | |
35d9db5c | 192 | --> |
360aaa75 TO |
193 | |
194 | </div> |