2 Implicit Controller: CrmMailingABEditCtrl
4 <div class=
"messages help">
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".')}}
8 <div ng-controller=
"CrmMailingABReportCtrl">
9 <table class=
"crm-mailing-ab-table">
11 <tr ng-show=
"abtest.ab.status == 'Testing'">
13 <td ng-repeat=
"am in getActiveMailings()">
14 <button crm-icon=
"fa-trophy" ng-click=
"selectWinner(am.name)">{{ts('Select as Final')}}
</button>
22 <th>{{ts('Delivery')}}
</th>
23 <th ng-repeat=
"am in getActiveMailings()" class=
"crm-mailing-ab-col">{{am.title}}
</th>
24 <th ng-show=
"abtest.ab.status == 'Testing'">{{ts('Final')}}
</th>
30 <td>{{ts('Status')}}
</td>
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>
34 <td ng-show=
"abtest.ab.status == 'Testing'">{{ts('Not selected')}}
</td>
37 <td>{{ts('Scheduled')}}
</td>
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>
41 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
44 <td>{{ts('Started at')}}
</td>
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>
48 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
51 <td>{{ts('Completed at')}}
</td>
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>
55 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
61 <th>{{ts('Performance')}}
</th>
62 <th ng-repeat=
"am in getActiveMailings()" class=
"crm-mailing-ab-col">{{am.title}}
</th>
63 <th ng-show=
"abtest.ab.status == 'Testing'">{{ts('Final')}}
</th>
67 <tr ng-repeat=
"statType in statTypes">
68 <td>{{statType.title}}
</td>
69 <td ng-repeat=
"am in getActiveMailings()">
71 class=
"crm-hover-button action-item"
72 ng-href=
"{{statUrl(am.mailing, statType, 'search')}}"
73 ng-if=
"checkPerm('view all contacts') || checkPerm('edit all contacts')"
74 title=
"{{ts('Search for contacts using \'%1\'', {1: statType.title})}}"
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})}}"
81 >{{stats[am.name][statType.name] || ts('n/a')}}
</a>
83 class=
"crm-hover-button action-item"
84 ng-href=
"{{statUrl(am.mailing, statType, 'report')}}"
85 title=
"{{ts('Reports for \'%1\'', {1: statType.title})}}"
89 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
95 <th>{{ts('Details')}}
</th>
96 <th ng-repeat=
"am in getActiveMailings()" class=
"crm-mailing-ab-col">{{am.title}}
</th>
97 <th ng-show=
"abtest.ab.status == 'Testing'">{{ts('Final')}}
</th>
103 <td>{{ts('Mailing Name')}}
</td>
104 <td ng-repeat=
"am in getActiveMailings()">
107 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
110 <td>{{ts('From')}}
</td>
111 <td ng-repeat=
"am in getActiveMailings()">
112 "{{am.mailing.from_name}}" <{{am.mailing.from_email}}
>
114 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
117 <td>{{ts('Subject')}}
</td>
118 <td ng-repeat=
"am in getActiveMailings()">
119 {{am.mailing.subject}}
121 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
123 <tr ng-controller=
"ViewRecipCtrl">
124 <td>{{ts('Recipients')}}
</td>
125 <td ng-repeat=
"am in getActiveMailings()">
126 <div ng-show=
"getIncludesAsString(am.mailing)">
127 <strong>{{ts('Include:')}}
</strong> {{getIncludesAsString(am.mailing)}}
129 <div ng-show=
"getExcludesAsString(am.mailing)">
130 <strong>{{ts('Exclude:')}}
</strong> <s>{{getExcludesAsString(am.mailing)}}
</s>
133 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
136 <td>{{ts('Content')}}
</td>
137 <td ng-repeat=
"am in getActiveMailings()">
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>
141 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
144 <td>{{ts('Attachments')}}
</td>
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>
148 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
151 <td>{{ts('Tracking')}}
</td>
152 <td ng-repeat=
"am in getActiveMailings()">
153 <div crm-mailing-review-bool
crm-on=
"am.mailing.url_tracking=='1'" crm-title=
"ts('Click-Throughs')"></div>
154 <div crm-mailing-review-bool
crm-on=
"am.mailing.open_tracking=='1'" crm-title=
"ts('Opens')"></div>
156 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
159 <td>{{ts('Responding')}}
</td>
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">
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>
170 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
173 <td>{{ts('Publication')}}
</td>
174 <td ng-repeat=
"am in getActiveMailings()">
175 {{am.mailing.visibility}}
177 <td ng-show=
"abtest.ab.status == 'Testing'"></td>
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>
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>