Merge pull request #18309 from demeritcowboy/link-cases-change-status
[civicrm-core.git] / ang / crmMailingAB / EditCtrl / report.html
CommitLineData
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})}}"
353282c5 86 crm-icon="clipboard"
78414681 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}}" &lt;{{am.mailing.from_email}}&gt;
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>