Commit | Line | Data |
---|---|---|
70980d8e | 1 | <div crm-ui-accordion crm-title="ts('Debug')" crm-collapsed="true"> |
bcdd7f49 TO |
2 | <pre>{{abtest.ab|json}}</pre> |
3 | <pre>{{abtest.mailings|json}}</pre> | |
70980d8e TO |
4 | </div> |
5 | ||
22bc3e48 TO |
6 | <!-- |
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". | |
11 | --> | |
12 | ||
13 | <form name="crmMailingAB2" novalidate> | |
af6962d8 TO |
14 | <div class="crm-block crm-form-block crmMailing2"> |
15 | <div crm-ui-wizard> | |
22bc3e48 | 16 | <div crm-ui-wizard-step="10" crm-title="ts('Setup')"> |
1d4d0279 TO |
17 | <div |
18 | crm-mailing-ab-block-setup="{ | |
19 | help: 1, | |
20 | abName: 1, | |
21 | campaign: 1, | |
22 | testing_criteria: 1 | |
23 | }" | |
24 | crm-abtest="abtest"></div> | |
25 | </div> | |
26 | <div crm-ui-wizard-step="11" crm-title="ts('Target')"> | |
27 | <div | |
28 | crm-mailing-ab-block-setup="{ | |
29 | recipients: 1, | |
30 | group_percentage: 1 | |
31 | }" | |
32 | crm-abtest="abtest"></div> | |
70980d8e | 33 | </div> |
22bc3e48 TO |
34 | <div crm-ui-wizard-step="20" crm-title="ts('Compose')" ng-if="criteriaName != 'Two different emails'"> |
35 | <div crm-ui-tab-set> | |
36 | <div crm-ui-tab id="tab-mailing" crm-title="ts('Mailing')"> | |
37 | <div | |
38 | ng-if="criteriaName == 'From names'" | |
39 | crm-mailing-ab-block-mailing="{ | |
40 | msg_template_id: 1, | |
41 | fromAddressA: 1, | |
42 | fromAddressB: 1, | |
aafc090b TO |
43 | replyToA: 1, |
44 | replyToB: 1, | |
22bc3e48 TO |
45 | subject: 1 |
46 | }" | |
47 | crm-abtest="abtest"></div> | |
48 | <div | |
49 | ng-if="criteriaName == 'Subject lines'" | |
50 | crm-mailing-ab-block-mailing="{ | |
51 | msg_template_id: 1, | |
52 | fromAddress: 1, | |
53 | replyTo: 1, | |
54 | subjectA: 1, | |
55 | subjectB: 1 | |
56 | }" | |
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"/> | |
60 | </div> | |
61 | <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'> | |
62 | <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/> | |
63 | </div> | |
64 | </div> | |
1535c8f3 TO |
65 | <!-- |
66 | FIXME: Attachment UI works, but we haven't implemented backend logic for copying/sharing | |
67 | of attachments among mailings A/B/C. | |
22bc3e48 | 68 | <div crm-ui-tab id="tab-attachment" crm-title="ts('Attachments')"> |
bcdd7f49 | 69 | <div crm-attachments="abtest.attachments.a"/> |
22bc3e48 | 70 | </div> |
1535c8f3 | 71 | --> |
22bc3e48 TO |
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"/> | |
74 | </div> | |
75 | <div crm-ui-tab id="tab-pub" crm-title="ts('Publication')"> | |
76 | <div crm-mailing-block-publication crm-mailing="abtest.mailings.a"/> | |
77 | </div> | |
78 | <div crm-ui-tab id="tab-response" crm-title="ts('Responses')"> | |
79 | <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/> | |
80 | </div> | |
81 | </div> | |
82 | <div crm-ui-accordion crm-title="ts('Preview (A)')"> | |
83 | <div crm-mailing-block-preview crm-mailing="abtest.mailings.a"/> | |
af6962d8 | 84 | </div> |
22bc3e48 TO |
85 | <div crm-ui-accordion crm-title="ts('Preview (B)')"> |
86 | <div crm-mailing-block-preview crm-mailing="abtest.mailings.b"/> | |
af6962d8 | 87 | </div> |
70980d8e | 88 | </div> |
1d4d0279 | 89 | <div crm-ui-wizard-step="21" crm-title="ts('Compose (A)')" ng-if="criteriaName == 'Two different emails'"> |
9758a72e TO |
90 | <div crm-ui-tab-set> |
91 | <div crm-ui-tab id="tab-mailingA" crm-title="ts('Mailing')"> | |
92 | <div | |
93 | crm-mailing-ab-block-mailing="{ | |
94 | msg_template_idA: 1, | |
95 | fromAddressA: 1, | |
96 | replyToA: 1, | |
97 | subjectA: 1 | |
98 | }" | |
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"/> | |
102 | </div> | |
103 | <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'> | |
104 | <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/> | |
105 | </div> | |
106 | </div> | |
107 | <div crm-ui-tab id="tab-attachmentA" crm-title="ts('Attachments')"> | |
108 | <div crm-attachments="abtest.attachments.a"/> | |
109 | </div> | |
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"/> | |
112 | </div> | |
113 | <div crm-ui-tab id="tab-pubA" crm-title="ts('Publication')"> | |
114 | <div crm-mailing-block-publication crm-mailing="abtest.mailings.a"/> | |
115 | </div> | |
116 | <div crm-ui-tab id="tab-responseA" crm-title="ts('Responses')"> | |
117 | <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/> | |
118 | </div> | |
119 | </div> | |
120 | <div crm-ui-accordion crm-title="ts('Preview')"> | |
121 | <div crm-mailing-block-preview crm-mailing="abtest.mailings.a"/> | |
122 | </div> | |
22bc3e48 | 123 | </div> |
1d4d0279 | 124 | <div crm-ui-wizard-step="22" crm-title="ts('Compose (B)')" ng-if="criteriaName == 'Two different emails'"> |
9758a72e TO |
125 | <div crm-ui-tab-set> |
126 | <div crm-ui-tab id="tab-mailingB" crm-title="ts('Mailing')"> | |
127 | <div | |
128 | crm-mailing-ab-block-mailing="{ | |
129 | msg_template_idB: 1, | |
130 | fromAddressB: 1, | |
131 | replyToB: 1, | |
132 | subjectB: 1 | |
133 | }" | |
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"/> | |
137 | </div> | |
138 | <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'> | |
139 | <div crm-mailing-body-text crm-mailing="abtest.mailings.b"/> | |
140 | </div> | |
141 | </div> | |
142 | <div crm-ui-tab id="tab-attachmentB" crm-title="ts('Attachments')"> | |
143 | <div crm-attachments="abtest.attachments.b"/> | |
144 | </div> | |
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"/> | |
147 | </div> | |
148 | <div crm-ui-tab id="tab-pubB" crm-title="ts('Publication')"> | |
149 | <div crm-mailing-block-publication crm-mailing="abtest.mailings.b"/> | |
150 | </div> | |
151 | <div crm-ui-tab id="tab-responseB" crm-title="ts('Responses')"> | |
152 | <div crm-mailing-block-responses crm-mailing="abtest.mailings.b"/> | |
153 | </div> | |
154 | </div> | |
155 | <div crm-ui-accordion crm-title="ts('Preview')"> | |
156 | <div crm-mailing-block-preview crm-mailing="abtest.mailings.b"/> | |
157 | </div> | |
22bc3e48 | 158 | </div> |
1d4d0279 | 159 | <div crm-ui-wizard-step="30" crm-title="ts('Schedule')"> |
bba4d38a TO |
160 | <div |
161 | crm-mailing-ab-block-setup="{ | |
162 | scheduled_date: 1, | |
163 | declare_winning_time: 1 | |
164 | }" | |
165 | crm-abtest="abtest"></div> | |
166 | <center> | |
167 | <a class="crmMailing2-submit-button" ng-click="submit().then(leave)"> | |
168 | <div>{{ts('Submit Mailing')}}</div> | |
169 | </a> | |
170 | </center> | |
1d4d0279 | 171 | </div> |
22bc3e48 TO |
172 | <span crm-ui-wizard-buttons style="float:right;"> |
173 | <button | |
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')}} | |
176 | </button> | |
177 | <button ng-click="save()">{{ts('Save Draft')}}</button> | |
178 | </span> | |
af6962d8 | 179 | </div> |
70980d8e | 180 | </form> |