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> {{stats[am.name][rateStats[statType.name]] || ' '}}
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>