1 <div crm-ui-accordion
crm-title=
"ts('Debug')" crm-collapsed=
"true">
2 <pre>{{abtest.ab|json}}
</pre>
3 <pre>{{abtest.mailings|json}}
</pre>
7 An ABTest includes two mailings, but we don't require the user to enter two complete mailings. For
8 simplicity, the email composition UI generally displays A (unless we specifically decided to expose an
9 individual field from B). At the end of the composition process, the controller's "sync" operation will
10 merge shared settings from "A" into "B".
13 <form name=
"crmMailingAB2" novalidate
>
14 <div class=
"crm-block crm-form-block crmMailing">
16 <div crm-ui-wizard-step=
"10" crm-title=
"ts('Setup')">
18 crm-mailing-ab-block-setup=
"{
24 crm-abtest=
"abtest"></div>
26 <div crm-ui-wizard-step=
"11" crm-title=
"ts('Target')">
28 crm-mailing-ab-block-setup=
"{
32 crm-abtest=
"abtest"></div>
34 <div crm-ui-wizard-step=
"20" crm-title=
"ts('Compose')" ng-if=
"criteriaName != 'Two different emails'">
36 <div crm-ui-tab
id=
"tab-mailing" crm-title=
"ts('Mailing')">
38 ng-if=
"criteriaName == 'From names'"
39 crm-mailing-ab-block-mailing=
"{
47 crm-abtest=
"abtest"></div>
49 ng-if=
"criteriaName == 'Subject lines'"
50 crm-mailing-ab-block-mailing=
"{
57 crm-abtest=
"abtest"></div>
58 <div crm-ui-accordion
crm-title=
"ts('HTML')">
59 <div crm-mailing-body-html
crm-mailing=
"abtest.mailings.a"/>
61 <div crm-ui-accordion
crm-title=
"ts('Plain Text')" crm-collapsed='true'
>
62 <div crm-mailing-body-text
crm-mailing=
"abtest.mailings.a"/>
66 FIXME: Attachment UI works, but we haven't implemented backend logic for copying/sharing
67 of attachments among mailings A/B/C.
68 <div crm-ui-tab id="tab-attachment" crm-title="ts('Attachments')">
69 <div crm-attachments="abtest.attachments.a"/>
72 <div crm-ui-tab
id=
"tab-header" crm-title=
"ts('Header and Footer')">
73 <div crm-mailing-block-header-footer
crm-mailing=
"abtest.mailings.a"/>
75 <div crm-ui-tab
id=
"tab-pub" crm-title=
"ts('Publication')">
76 <div crm-mailing-block-publication
crm-mailing=
"abtest.mailings.a"/>
78 <div crm-ui-tab
id=
"tab-response" crm-title=
"ts('Responses')">
79 <div crm-mailing-block-responses
crm-mailing=
"abtest.mailings.a"/>
82 <div crm-ui-accordion
crm-title=
"ts('Preview (A)')">
83 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.a"/>
85 <div crm-ui-accordion
crm-title=
"ts('Preview (B)')">
86 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.b"/>
89 <div crm-ui-wizard-step=
"21" crm-title=
"ts('Compose (A)')" ng-if=
"criteriaName == 'Two different emails'">
91 <div crm-ui-tab
id=
"tab-mailingA" crm-title=
"ts('Mailing')">
93 crm-mailing-ab-block-mailing=
"{
99 crm-abtest=
"abtest"></div>
100 <div crm-ui-accordion
crm-title=
"ts('HTML')">
101 <div crm-mailing-body-html
crm-mailing=
"abtest.mailings.a"/>
103 <div crm-ui-accordion
crm-title=
"ts('Plain Text')" crm-collapsed='true'
>
104 <div crm-mailing-body-text
crm-mailing=
"abtest.mailings.a"/>
107 <div crm-ui-tab
id=
"tab-attachmentA" crm-title=
"ts('Attachments')">
108 <div crm-attachments=
"abtest.attachments.a"/>
110 <div crm-ui-tab
id=
"tab-headerA" crm-title=
"ts('Header and Footer')">
111 <div crm-mailing-block-header-footer
crm-mailing=
"abtest.mailings.a"/>
113 <div crm-ui-tab
id=
"tab-pubA" crm-title=
"ts('Publication')">
114 <div crm-mailing-block-publication
crm-mailing=
"abtest.mailings.a"/>
116 <div crm-ui-tab
id=
"tab-responseA" crm-title=
"ts('Responses')">
117 <div crm-mailing-block-responses
crm-mailing=
"abtest.mailings.a"/>
120 <div crm-ui-accordion
crm-title=
"ts('Preview')">
121 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.a"/>
124 <div crm-ui-wizard-step=
"22" crm-title=
"ts('Compose (B)')" ng-if=
"criteriaName == 'Two different emails'">
126 <div crm-ui-tab
id=
"tab-mailingB" crm-title=
"ts('Mailing')">
128 crm-mailing-ab-block-mailing=
"{
134 crm-abtest=
"abtest"></div>
135 <div crm-ui-accordion
crm-title=
"ts('HTML')">
136 <div crm-mailing-body-html
crm-mailing=
"abtest.mailings.b"/>
138 <div crm-ui-accordion
crm-title=
"ts('Plain Text')" crm-collapsed='true'
>
139 <div crm-mailing-body-text
crm-mailing=
"abtest.mailings.b"/>
142 <div crm-ui-tab
id=
"tab-attachmentB" crm-title=
"ts('Attachments')">
143 <div crm-attachments=
"abtest.attachments.b"/>
145 <div crm-ui-tab
id=
"tab-headerB" crm-title=
"ts('Header and Footer')">
146 <div crm-mailing-block-header-footer
crm-mailing=
"abtest.mailings.b"/>
148 <div crm-ui-tab
id=
"tab-pubB" crm-title=
"ts('Publication')">
149 <div crm-mailing-block-publication
crm-mailing=
"abtest.mailings.b"/>
151 <div crm-ui-tab
id=
"tab-responseB" crm-title=
"ts('Responses')">
152 <div crm-mailing-block-responses
crm-mailing=
"abtest.mailings.b"/>
155 <div crm-ui-accordion
crm-title=
"ts('Preview')">
156 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.b"/>
159 <div crm-ui-wizard-step=
"30" crm-title=
"ts('Schedule')">
161 crm-mailing-ab-block-setup=
"{
163 declare_winning_time: 1
165 crm-abtest=
"abtest"></div>
167 <a class=
"crmMailing-submit-button" ng-click=
"submit().then(leave)">
168 <div>{{ts('Submit Mailing')}}
</div>
172 <span crm-ui-wizard-buttons
style=
"float:right;">
174 crm-confirm=
"{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}"
175 on-yes=
"delete()">{{ts('Delete Draft')}}
177 <button ng-click=
"save()">{{ts('Save Draft')}}
</button>