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".
12 <div ng-show=
"isSubmitted()">
13 {{ts('This mailing has been submitted.')}}
16 <form name=
"crmMailingAB" novalidate
ng-hide=
"isSubmitted()">
17 <div class=
"crm-block crm-form-block crmMailing">
19 <div crm-ui-wizard-step=
"10" crm-title=
"ts('Setup')" ng-form=
"setupForm">
21 crm-mailing-ab-block-setup=
"{
27 crm-abtest=
"abtest"></div>
29 <div crm-ui-wizard-step=
"11" crm-title=
"ts('Target')" ng-form=
"targetForm">
31 crm-mailing-ab-block-setup=
"{
35 crm-abtest=
"abtest"></div>
37 <div crm-ui-wizard-step=
"20" crm-title=
"ts('Compose')" ng-if=
"criteriaName != 'Two different emails'" ng-form=
"composeForm">
39 <div crm-ui-tab
id=
"tab-mailing" crm-title=
"ts('Mailing')">
41 ng-if=
"criteriaName == 'From names'"
42 crm-mailing-ab-block-mailing=
"{
50 crm-abtest=
"abtest"></div>
52 ng-if=
"criteriaName == 'Subject lines'"
53 crm-mailing-ab-block-mailing=
"{
60 crm-abtest=
"abtest"></div>
61 <div crm-ui-accordion
crm-title=
"ts('HTML')">
62 <div crm-mailing-body-html
crm-mailing=
"abtest.mailings.a"/>
64 <div crm-ui-accordion
crm-title=
"ts('Plain Text')" crm-collapsed='true'
>
65 <div crm-mailing-body-text
crm-mailing=
"abtest.mailings.a"/>
69 FIXME: Attachment UI works, but we haven't implemented backend logic for copying/sharing
70 of attachments among mailings A/B/C.
71 <div crm-ui-tab id="tab-attachment" crm-title="ts('Attachments')">
72 <div crm-attachments="abtest.attachments.a"/>
75 <div crm-ui-tab
id=
"tab-header" crm-title=
"ts('Header and Footer')">
76 <div crm-mailing-block-header-footer
crm-mailing=
"abtest.mailings.a"/>
78 <div crm-ui-tab
id=
"tab-pub" crm-title=
"ts('Publication')">
79 <div crm-mailing-block-publication
crm-mailing=
"abtest.mailings.a"/>
81 <div crm-ui-tab
id=
"tab-response" crm-title=
"ts('Responses')">
82 <div crm-mailing-block-responses
crm-mailing=
"abtest.mailings.a"/>
85 <div crm-ui-accordion
crm-title=
"ts('Preview (A)')">
86 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.a" on-preview=
"previewMailing('a', preview.mode)" on-send=
"sendTest('a', preview.recipient)" />
88 <div crm-ui-accordion
crm-title=
"ts('Preview (B)')">
89 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.b" on-preview=
"previewMailing('b', preview.mode)" on-send=
"sendTest('b', preview.recipient)" />
92 <div crm-ui-wizard-step=
"21" crm-title=
"ts('Compose (A)')" ng-if=
"criteriaName == 'Two different emails'" ng-form=
"composeAForm">
94 <div crm-ui-tab
id=
"tab-mailingA" crm-title=
"ts('Mailing')">
96 crm-mailing-ab-block-mailing=
"{
102 crm-abtest=
"abtest"></div>
103 <div crm-ui-accordion
crm-title=
"ts('HTML')">
104 <div crm-mailing-body-html
crm-mailing=
"abtest.mailings.a"/>
106 <div crm-ui-accordion
crm-title=
"ts('Plain Text')" crm-collapsed='true'
>
107 <div crm-mailing-body-text
crm-mailing=
"abtest.mailings.a"/>
110 <div crm-ui-tab
id=
"tab-attachmentA" crm-title=
"ts('Attachments')">
111 <div crm-attachments=
"abtest.attachments.a"/>
113 <div crm-ui-tab
id=
"tab-headerA" crm-title=
"ts('Header and Footer')">
114 <div crm-mailing-block-header-footer
crm-mailing=
"abtest.mailings.a"/>
116 <div crm-ui-tab
id=
"tab-pubA" crm-title=
"ts('Publication')">
117 <div crm-mailing-block-publication
crm-mailing=
"abtest.mailings.a"/>
119 <div crm-ui-tab
id=
"tab-responseA" crm-title=
"ts('Responses')">
120 <div crm-mailing-block-responses
crm-mailing=
"abtest.mailings.a"/>
123 <div crm-ui-accordion
crm-title=
"ts('Preview')">
124 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.a" on-preview=
"previewMailing('a', preview.mode)" on-send=
"sendTest('a', preview.recipient)" />
127 <div crm-ui-wizard-step=
"22" crm-title=
"ts('Compose (B)')" ng-if=
"criteriaName == 'Two different emails'" ng-form=
"composeBForm">
129 <div crm-ui-tab
id=
"tab-mailingB" crm-title=
"ts('Mailing')">
131 crm-mailing-ab-block-mailing=
"{
137 crm-abtest=
"abtest"></div>
138 <div crm-ui-accordion
crm-title=
"ts('HTML')">
139 <div crm-mailing-body-html
crm-mailing=
"abtest.mailings.b"/>
141 <div crm-ui-accordion
crm-title=
"ts('Plain Text')" crm-collapsed='true'
>
142 <div crm-mailing-body-text
crm-mailing=
"abtest.mailings.b"/>
145 <div crm-ui-tab
id=
"tab-attachmentB" crm-title=
"ts('Attachments')">
146 <div crm-attachments=
"abtest.attachments.b"/>
148 <div crm-ui-tab
id=
"tab-headerB" crm-title=
"ts('Header and Footer')">
149 <div crm-mailing-block-header-footer
crm-mailing=
"abtest.mailings.b"/>
151 <div crm-ui-tab
id=
"tab-pubB" crm-title=
"ts('Publication')">
152 <div crm-mailing-block-publication
crm-mailing=
"abtest.mailings.b"/>
154 <div crm-ui-tab
id=
"tab-responseB" crm-title=
"ts('Responses')">
155 <div crm-mailing-block-responses
crm-mailing=
"abtest.mailings.b"/>
158 <div crm-ui-accordion
crm-title=
"ts('Preview')">
159 <div crm-mailing-block-preview
crm-mailing=
"abtest.mailings.b" on-preview=
"previewMailing('b', preview.mode)" on-send=
"sendTest('b', preview.recipient)" />
162 <div crm-ui-wizard-step=
"30" crm-title=
"ts('Schedule')" ng-form=
"schedForm">
164 crm-mailing-ab-block-setup=
"{
166 declare_winning_time: 1
168 crm-abtest=
"abtest"></div>
170 <a class=
"crmMailing-submit-button" ng-click=
"submit()" ng-class=
"{disabled: crmMailing.$invalid}">
171 <div>{{ts('Submit Mailing')}}
</div>
175 <span crm-ui-wizard-buttons
style=
"float:right;">
177 crm-confirm=
"{title:ts('Delete Draft?'), message:ts('Are you sure you want to delete the draft mailing?')}"
178 on-yes=
"delete()">{{ts('Delete Draft')}}
180 <button ng-click=
"save()">{{ts('Save Draft')}}
</button>