Merge branch 'master' into master-civimail-abtest
[civicrm-core.git] / partials / crmMailingAB / edit.html
1 <div crm-ui-accordion crm-title="ts('Debug')" crm-collapsed="true">
2 <pre>{{abtest.ab|json}}</pre>
3 <pre>{{abtest.mailings|json}}</pre>
4 </div>
5
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 <div ng-show="isSubmitted()">
13 {{ts('This mailing has been submitted.')}}
14 </div>
15
16 <form name="crmMailingAB" novalidate ng-hide="isSubmitted()">
17 <div class="crm-block crm-form-block crmMailing">
18 <div crm-ui-wizard>
19 <div crm-ui-wizard-step="10" crm-title="ts('Setup')">
20 <div
21 crm-mailing-ab-block-setup="{
22 help: 1,
23 abName: 1,
24 campaign: 1,
25 testing_criteria: 1
26 }"
27 crm-abtest="abtest"></div>
28 </div>
29 <div crm-ui-wizard-step="11" crm-title="ts('Target')">
30 <div
31 crm-mailing-ab-block-setup="{
32 recipients: 1,
33 group_percentage: 1
34 }"
35 crm-abtest="abtest"></div>
36 </div>
37 <div crm-ui-wizard-step="20" crm-title="ts('Compose')" ng-if="criteriaName != 'Two different emails'">
38 <div crm-ui-tab-set>
39 <div crm-ui-tab id="tab-mailing" crm-title="ts('Mailing')">
40 <div
41 ng-if="criteriaName == 'From names'"
42 crm-mailing-ab-block-mailing="{
43 msg_template_id: 1,
44 fromAddressA: 1,
45 fromAddressB: 1,
46 replyToA: 1,
47 replyToB: 1,
48 subject: 1
49 }"
50 crm-abtest="abtest"></div>
51 <div
52 ng-if="criteriaName == 'Subject lines'"
53 crm-mailing-ab-block-mailing="{
54 msg_template_id: 1,
55 fromAddress: 1,
56 replyTo: 1,
57 subjectA: 1,
58 subjectB: 1
59 }"
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"/>
63 </div>
64 <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'>
65 <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/>
66 </div>
67 </div>
68 <!--
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"/>
73 </div>
74 -->
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"/>
77 </div>
78 <div crm-ui-tab id="tab-pub" crm-title="ts('Publication')">
79 <div crm-mailing-block-publication crm-mailing="abtest.mailings.a"/>
80 </div>
81 <div crm-ui-tab id="tab-response" crm-title="ts('Responses')">
82 <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/>
83 </div>
84 </div>
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)" />
87 </div>
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)" />
90 </div>
91 </div>
92 <div crm-ui-wizard-step="21" crm-title="ts('Compose (A)')" ng-if="criteriaName == 'Two different emails'">
93 <div crm-ui-tab-set>
94 <div crm-ui-tab id="tab-mailingA" crm-title="ts('Mailing')">
95 <div
96 crm-mailing-ab-block-mailing="{
97 msg_template_idA: 1,
98 fromAddressA: 1,
99 replyToA: 1,
100 subjectA: 1
101 }"
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"/>
105 </div>
106 <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'>
107 <div crm-mailing-body-text crm-mailing="abtest.mailings.a"/>
108 </div>
109 </div>
110 <div crm-ui-tab id="tab-attachmentA" crm-title="ts('Attachments')">
111 <div crm-attachments="abtest.attachments.a"/>
112 </div>
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"/>
115 </div>
116 <div crm-ui-tab id="tab-pubA" crm-title="ts('Publication')">
117 <div crm-mailing-block-publication crm-mailing="abtest.mailings.a"/>
118 </div>
119 <div crm-ui-tab id="tab-responseA" crm-title="ts('Responses')">
120 <div crm-mailing-block-responses crm-mailing="abtest.mailings.a"/>
121 </div>
122 </div>
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)" />
125 </div>
126 </div>
127 <div crm-ui-wizard-step="22" crm-title="ts('Compose (B)')" ng-if="criteriaName == 'Two different emails'">
128 <div crm-ui-tab-set>
129 <div crm-ui-tab id="tab-mailingB" crm-title="ts('Mailing')">
130 <div
131 crm-mailing-ab-block-mailing="{
132 msg_template_idB: 1,
133 fromAddressB: 1,
134 replyToB: 1,
135 subjectB: 1
136 }"
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"/>
140 </div>
141 <div crm-ui-accordion crm-title="ts('Plain Text')" crm-collapsed='true'>
142 <div crm-mailing-body-text crm-mailing="abtest.mailings.b"/>
143 </div>
144 </div>
145 <div crm-ui-tab id="tab-attachmentB" crm-title="ts('Attachments')">
146 <div crm-attachments="abtest.attachments.b"/>
147 </div>
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"/>
150 </div>
151 <div crm-ui-tab id="tab-pubB" crm-title="ts('Publication')">
152 <div crm-mailing-block-publication crm-mailing="abtest.mailings.b"/>
153 </div>
154 <div crm-ui-tab id="tab-responseB" crm-title="ts('Responses')">
155 <div crm-mailing-block-responses crm-mailing="abtest.mailings.b"/>
156 </div>
157 </div>
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)" />
160 </div>
161 </div>
162 <div crm-ui-wizard-step="30" crm-title="ts('Schedule')">
163 <div
164 crm-mailing-ab-block-setup="{
165 scheduled_date: 1,
166 declare_winning_time: 1
167 }"
168 crm-abtest="abtest"></div>
169 <center>
170 <a class="crmMailing-submit-button" ng-click="submit()">
171 <div>{{ts('Submit Mailing')}}</div>
172 </a>
173 </center>
174 </div>
175 <span crm-ui-wizard-buttons style="float:right;">
176 <button
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')}}
179 </button>
180 <button ng-click="save()">{{ts('Save Draft')}}</button>
181 </span>
182 </div>
183 </form>