crmMailingAB - report.html - Display job info
[civicrm-core.git] / partials / crmMailingAB / report.html
1 <!--
2 Implicit Controller: CrmMailingABEditCtrl
3 -->
4 <div ng-controller="CrmMailingABReportCtrl">
5 <table>
6 <thead>
7 <tr ng-show="abtest.ab.status == 'Testing'">
8 <td></td>
9 <td ng-repeat="am in getActiveMailings()">
10 <button ng-click="selectWinner(am.name)">{{ts('Select as Winner')}}</button>
11 </td>
12 </tr>
13 </thead>
14
15 <thead>
16 <tr>
17 <th>{{ts('Delivery')}}</th>
18 <th ng-repeat="am in getActiveMailings()" class="crm-mailing-ab-col">{{am.title}}</th>
19 </tr>
20 </thead>
21
22 <tbody>
23 <tr>
24 <td>{{ts('Status')}}</td>
25 <td ng-repeat="am in getActiveMailings()">
26 <span ng-repeat="job in am.mailing.jobs" ng-hide="job.is_test == 1 || job.parent_id != null">{{job.status}}</span>
27 </td>
28 </tr>
29 <tr>
30 <td>{{ts('Scheduled')}}</td>
31 <td ng-repeat="am in getActiveMailings()">
32 <div ng-repeat="job in am.mailing.jobs" ng-hide="job.is_test == 1 || job.parent_id != null">{{job.scheduled_date}}</div>
33 </td>
34 </tr>
35 <tr>
36 <td>{{ts('Started at')}}</td>
37 <td ng-repeat="am in getActiveMailings()">
38 <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>
39 </td>
40 </tr>
41 <tr>
42 <td>{{ts('Completed at')}}</td>
43 <td ng-repeat="am in getActiveMailings()">
44 <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>
45 </td>
46 </tr>
47 </tbody>
48
49 <thead>
50 <tr>
51 <th>{{ts('Performance')}}</th>
52 <th ng-repeat="am in getActiveMailings()" class="crm-mailing-ab-col">{{am.title}}</th>
53 </tr>
54 </thead>
55 <tbody>
56 <tr ng-repeat="statType in statTypes">
57 <td>{{statType.title}}</td>
58 <td ng-repeat="am in getActiveMailings()">
59 <a
60 class="crm-hover-button action-item"
61 ng-href="{{statUrl(am.mailing, statType, 'search')}}"
62 ng-if="checkPerm('view all contacts')"
63 title="{{ts('Search for contacts using \'%1\'', {1: statType.title})}}"
64 crm-icon="search"
65 ></a>
66 <a
67 class="crm-hover-button action-item"
68 ng-href="{{statUrl(am.mailing, statType, 'events')}}"
69 title="{{ts('Browse events of type \'%1\'', {1: statType.title})}}"
70 >{{stats[am.name][statType.name] || ts('n/a')}}</a>
71 </td>
72 </tr>
73 </tbody>
74
75 <thead>
76 <tr>
77 <th>{{ts('Details')}}</th>
78 <th ng-repeat="am in getActiveMailings()" class="crm-mailing-ab-col">{{am.title}}</th>
79 </tr>
80 </thead>
81
82 <tbody>
83 <tr>
84 <td>{{ts('Mailing Name')}}</td>
85 <td ng-repeat="am in getActiveMailings()">
86 {{am.mailing.name}}
87 </td>
88 </tr>
89 <tr>
90 <td>{{ts('From')}}</td>
91 <td ng-repeat="am in getActiveMailings()">
92 "{{am.mailing.from_name}}" &lt;{{am.mailing.from_email}}&gt;
93 </td>
94 </tr>
95 <tr>
96 <td>{{ts('Subject')}}</td>
97 <td ng-repeat="am in getActiveMailings()">
98 {{am.mailing.subject}}
99 </td>
100 </tr>
101 <tr ng-controller="ViewRecipCtrl">
102 <td>{{ts('Recipients')}}</td>
103 <td ng-repeat="am in getActiveMailings()">
104 <div ng-show="getIncludesAsString(am.mailing)">
105 <strong>{{ts('Include:')}}</strong> {{getIncludesAsString(am.mailing)}}
106 </div>
107 <div ng-show="getExcludesAsString(am.mailing)">
108 <strong>{{ts('Exclude:')}}</strong> <s>{{getExcludesAsString(am.mailing)}}</s>
109 </div>
110 </td>
111 </tr>
112 <tr>
113 <td>{{ts('Content')}}</td>
114 <td ng-repeat="am in getActiveMailings()">
115 <a crm-icon="newwin" class="crm-hover-button action-item" ng-click="previewMailing(am.name,'html')" ng-show="am.mailing.body_html">{{ts('HTML')}}</a>
116 <a crm-icon="newwin" class="crm-hover-button action-item" ng-click="previewMailing(am.name,'text')" ng-show="am.mailing.body_text">{{ts('Text')}}</a>
117 </td>
118 </tr>
119 <tr>
120 <td>{{ts('Attachments')}}</td>
121 <td ng-repeat="am in getActiveMailings()">
122 <div ng-repeat="file in am.attachments.files"><a ng-href="{{file.url}}" target="_blank">{{file.name}}</a></div>
123 </td>
124 </tr>
125 <tr>
126 <td>{{ts('Tracking')}}</td>
127 <td ng-repeat="am in getActiveMailings()">
128 <div crm-mailing-review-bool crm-on="am.mailing.url_tracking=='1'" crm-title="ts('Click Throughs')"></div>
129 <div crm-mailing-review-bool crm-on="am.mailing.open_tracking=='1'" crm-title="ts('Opens')"></div>
130 </td>
131 </tr>
132 <tr>
133 <td>{{ts('Responding')}}</td>
134 <td ng-repeat="am in getActiveMailings()">
135 <div crm-mailing-review-bool crm-on="am.mailing.override_verp=='0'" crm-title="ts('Track Replies')"></div>
136 <div crm-mailing-review-bool crm-on="am.mailing.override_verp=='0' && mailing.forward_replies=='1'" crm-title="ts('Forward Replies')"></div>
137 <div ng-controller="PreviewComponentCtrl">
138 <div ng-show="am.mailing.override_verp == '0' && mailing.auto_responder"><a crm-icon="newwin" class="crm-hover-button action-item" ng-click="previewComponent(ts('Auto-Respond'), am.mailing.reply_id)">{{ts('Auto-Respond')}}</a></div>
139 <div><a crm-icon="newwin" class="crm-hover-button action-item" ng-click="previewComponent(ts('Opt-out'), am.mailing.optout_id)">{{ts('Opt-out')}}</a></div>
140 <div><a crm-icon="newwin" class="crm-hover-button action-item" ng-click="previewComponent(ts('Resubscribe'), am.mailing.resubscribe_id)">{{ts('Resubscribe')}}</a></div>
141 <div><a crm-icon="newwin" class="crm-hover-button action-item" ng-click="previewComponent(ts('Unsubscribe'), am.mailing.unsubscribe_id)">{{ts('Unsubscribe')}}</a></div>
142 </div>
143 </td>
144 </tr>
145 <tr>
146 <td>{{ts('Publication')}}</td>
147 <td ng-repeat="am in getActiveMailings()">
148 {{am.mailing.visibility}}
149 </td>
150 </tr>
151 </tbody>
152
153 </table>
154
155 <div crm-ui-tab-set>
156 <div crm-ui-tab id="tab-opens" crm-title="ts('Opens (WIP)')">
157 <div crm-mailing-ab-stats="{criteria: 'open', split_count: 5}" crm-abtest="abtest"></div>
158 </div>
159 <div crm-ui-tab id="tab-clicks" crm-title="ts('Total Clicks (WIP)')">
160 <div crm-mailing-ab-stats="{criteria: 'total unique clicks', split_count: 5}" crm-abtest="abtest"></div>
161 </div>
162 </div>
163
164 </div>