-
-
Notifications
You must be signed in to change notification settings - Fork 278
/
information.tt
362 lines (326 loc) · 14.6 KB
/
information.tt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
<div class="half-width" data-bind="with: rootField.release">
<fieldset>
<legend>[% l('Release information') %]</legend>
<table class="row-form">
<tbody>
<tr>
<td><label for="title" class="required">[% l('Title:') %]</label></td>
<td colspan="2">
<table>
<tr>
<td colspan="2" style="padding: 0">
<input id="name" class="with-guesscase-guessfeat" type="text" size="47" required="required" data-bind="value: name, valueUpdate: 'input'" />
<button type="button" class="guesscase-title icon" title="[% l('Guess case') %]"></button>
<button type="button" class="guessfeat icon" title="[% l('Guess feat. artists') %]" data-click="guessReleaseFeatArtists"></button>
<button type="button" class="guesscase-options icon" title="[% l('Guess case options') %]"></button>
</td>
</tr>
</table>
</td>
</tr>
[% table_row_error(2, 'showErrorWhenTabIsSwitched: needsName', l('A release title is required.')) %]
<tr>
<td><label for="release-artist" class="required">[% l('Artist:') %]</label></td>
<td class="release-artist" data-bind="artistCreditEditor: $data"></td>
</tr>
[% table_row_error(2, 'showErrorWhenTabIsSwitched: needsArtistCredit', l('You haven’t entered a complete artist credit.')) %]
<tr>
<td><label for="release-group">[% l('Release Group:') %]</label></td>
<td colspan="2">
<span class="autocomplete">
<input id="release-group" type="text"
data-bind="
autocomplete: {
entity: 'release-group',
currentSelection: releaseGroup,
entityConstructor: $root.fields.ReleaseGroup
},
controlsBubble: $root.releaseGroupBubble"
/>
[% React.embed(c, 'static/scripts/common/components/SearchIcon') %]
</span>
</td>
</tr>
[% table_row_help_message(2, 'showMessageRightAway: willCreateReleaseGroup', l('If you don’t select an existing release group, a new one will be created with the types selected below.')) %]
[% table_row_error(2, 'showErrorWhenTabIsSwitched: needsReleaseGroup', l('You must select an existing release group.')) %]
<!-- ko with: releaseGroup -->
<!-- ko if: $data.gid -->
<!-- ko if: canTakeName($parent.name()) -->
<tr>
<td></td>
<td colspan="2">
<div class="checkbox">
<div>
<input type="checkbox" id="copy-title-to-rg" data-bind="checked: $root.copyTitleToReleaseGroup" />
<label class="inline" for="copy-title-to-rg">
[% l('Copy the release title to the release group') %]
</label>
</div>
</div>
</td>
</tr>
<!-- /ko -->
<!-- ko if: canTakeArtist($parent.artistCredit) -->
<tr>
<td></td>
<td colspan="2">
<div class="checkbox">
<div>
<input type="checkbox" id="copy-ac-to-rg" data-bind="checked: $root.copyArtistToReleaseGroup" />
<label class="inline" for="copy-ac-to-rg">
[% l('Copy the release artist credit to the release group') %]
</label>
</div>
</div>
</td>
</tr>
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
[% IF NOT release.gid %]
<!-- ko with: releaseGroup -->
[% table_row_select('primary-type', l('Primary Type:'), 2,
'value: typeID, disable: !!$data.gid', primary_types) %]
[% table_row_select('secondary-types', l('Secondary Types:'), 2,
'selectedOptions: secondaryTypeIDs, disable: !!$data.gid', secondary_types, 1) %]
<!-- /ko -->
[% ELSE %]
<tr>
<td><label>[% l('Type:') %]</label></td>
<td colspan="2">
[% l('To edit types, please {edit_page|edit the release group}.',
edit_page => { href => c.uri_for_action('/release_group/edit', [ release.release_group.gid ]), target => '_blank' }) %]
</td>
</tr>
[% END %]
[% table_row_select('status', l('Status:'), 2,
'value: statusID, controlsBubble: $root.statusBubble', statuses) %]
[% table_row_select('language', l('Language:'), 2, 'value: languageID', languages) %]
[% table_row_select('script', l('Script:'), 2, 'value: scriptID', scripts) %]
</tbody>
</table>
</fieldset>
<fieldset>
<legend>[% l('Release event') %]</legend>
<table class="row-form">
<tbody>
<!-- ko foreach: events -->
<tr>
<td><label>[% l('Date:') %]</label></td>
<td class="partial-date">
<span class="partial-date">
<input type="text" maxlength="4" placeholder="[% l('YYYY') %]" size="4"
class="partial-date-year"
data-bind="
value: date.year,
valueUpdate: 'input',
controlsBubble: $root.dateBubble,
withLabel: 'event-date'"
/>-[%
%]<input type="text" maxlength="2" placeholder="[% l('MM') %]" size="2"
class="partial-date-month"
data-bind="
value: date.month,
valueUpdate: 'input',
controlsBubble: $root.dateBubble"
/>-[%
%]<input type="text" maxlength="2" placeholder="[% l('DD') %]" size="2"
class="partial-date-day"
data-bind="
value: date.day,
valueUpdate: 'input',
controlsBubble: $root.dateBubble" />
</span>
</td>
[% table_cells_select('country', l('Country:'), 1,
"value: countryID, withLabel: 'country'", countries) %]
<td>
<button type="button" class="icon remove-item remove-release-event" title="[% l('Remove Release Event') %]" data-click="removeReleaseEvent"></button>
</td>
</tr>
[% table_row_error(4, 'showErrorRightAway: hasInvalidDate', l('The date you\'ve entered is not valid.')) %]
[% table_row_error(4, 'showErrorRightAway: hasTooShortYear', l('The year should have four digits. If you want to enter a year earlier than 1000 CE, please pad with zeros, such as “0123”.')) %]
[% table_row_error(4, 'showErrorRightAway: isDuplicate', l('You cannot use the same country more than once.')) %]
<!-- /ko -->
<tr>
<td></td>
<td colspan="4" class="add-item">
<button type="button" class="with-label add-item" title="[% lp('Add Release Event', 'button/menu') %]" data-click="addReleaseEvent">
[% lp('Add Release Event', 'button/menu') %]
</button>
</td>
</tr>
<!-- ko foreach: labels -->
<tr>
<td><label>[% l('Label:') %]</label></td>
<td>
<span class="autocomplete">
<input type="text" class="name"
data-bind="
withLabel: 'label',
autocomplete: {
entity: 'label',
currentSelection: label
},
controlsBubble: $root.labelBubble"
/>
[% React.embed(c, 'static/scripts/common/components/SearchIcon') %]
</span>
</td>
<td><label>[% l('Cat. No:') %]</label></td>
<td>
<input type="text" data-bind="withLabel: 'catno', value: catalogNumber, valueUpdate: 'input', controlsBubble: $root.labelBubble" />
</td>
<td>
<button type="button" class="remove-item icon remove-release-label" title="[% l('Remove Label') %]" data-click="removeReleaseLabel"></button>
</td>
</tr>
[% table_row_error(
4, 'showErrorWhenTabIsSwitched: needsLabel',
'<!-- ko text: needsLabelMessage() --><!-- /ko -->'
)
%]
[% table_row_error(4, 'showErrorRightAway: isDuplicate', l('This label/catalog number pair already exists.')) %]
<!-- /ko -->
<tr>
<td></td>
<td colspan="4" class="add-item">
<button type="button" class="with-label add-item" title="[% lp('Add Label', 'button/menu') %]" data-click="addReleaseLabel">
[% lp('Add Label', 'button/menu') %]
</button>
</td>
</tr>
<tr>
<td><label for="barcode">[% l('Barcode:') %]</label></td>
<td colspan="4">
<input id="barcode" type="text" pattern="[0-9]*" data-bind="value: barcode.value, valueUpdate: 'input', disable: barcode.none, controlsBubble: $root.barcodeBubble" />
</td>
</tr>
[% table_row_error(4, 'showErrorRightAway: barcode.error') %]
<tr>
<td></td>
<td colspan="4">
<input id="no-barcode" type="checkbox" data-bind="checked: barcode.none" />
<label class="inline" for="no-barcode">
[% l('This release does not have a barcode') %]
</label>
</td>
</tr>
[% table_row_select('packaging', l('Packaging:'), 4,
'value: packagingID, controlsBubble: $root.packagingBubble', packagings) %]
</tbody>
</table>
</fieldset>
<fieldset class="information">
<legend>[% l('Additional information') %]</legend>
<table class="row-form">
<tbody>
<tr>
<td><label for="annotation">[% l('Annotation:') %]</label></td>
<td>
<textarea id="annotation" data-bind="value: annotation, controlsBubble: $root.annotationBubble"></textarea>
</td>
</tr>
<tr>
<td><label for="comment">[% add_colon(l('Disambiguation')) %]</label></td>
<td>
<input id="comment" type="text" maxlength="255" data-bind="value: comment, controlsBubble: $root.commentBubble" />
</td>
</tr>
</tbody>
</table>
</fieldset>
<fieldset class="information">
<legend>[% l('External Links') %]</legend>
[% external_links_editor() %]
</fieldset>
</div>
<div class="documentation" data-bind="with: rootField.release">
<div class="bubble" data-bind="bubble: $root.releaseGroupBubble">
<!-- ko with: target() && target().releaseGroup -->
<p data-bind="html: $data.selectionMessage()"></p>
<!-- /ko -->
</div>
<div class="bubble" data-bind="bubble: $root.dateBubble">
<p data-bind="visible: target() && target().hasAmazonDate()">
[% l('Warning! "1990-10-25" is the bogus date that Amazon gives to all releases for which they don\'t know the actual date. <strong>Please use this date only if you\'re certain this date is correct!</strong>') %]
</p>
<p data-bind="visible: target() && target().hasJanuaryFirstDate()">
[% l('Note! If you do not know the month or day of release, please leave them empty. January 1st is not often the actual release date, please double check that you have entered the release date correctly.') %]
</p>
</div>
<div class="bubble" data-bind="bubble: $root.labelBubble">
<!-- ko with: target() && target().label() -->
<!-- ko if: $data.gid -->
<p data-bind="html: $data.selectionMessage()"></p>
<!-- /ko -->
<!-- /ko -->
<!-- ko if: target() && catNoLooksLikeASIN(target().catalogNumber()) -->
<p>
[% l('The catalog number you have entered looks like an Amazon ASIN.') %]
</p>
<p>
[% l('If this is an Amazon ASIN, please do not enter it in the catalog number field, but add it as a URL relationship later.') %]
</p>
<!-- /ko -->
</div>
<div class="bubble" data-bind="bubble: $root.packagingBubble">
<p>
[% l('Review the {packaging|list of packaging types} for help.',
{ packaging => { href => doc_link('Release/Packaging'), target => '_blank' } }) %]
</p>
</div>
<div class="bubble" data-bind="bubble: $root.barcodeBubble">
<p>
[% l('Please enter the barcode of the release you are entering, see <a href="{url}" target="_blank">Barcode</a> for more information.',
{ url => doc_link('Barcode') }) %]
</p>
<p>
[% l('If you do not know whether the release has a barcode or not, just leave this blank.') %]
</p>
<!-- ko with: target() && target().barcode -->
<p data-bind="visible: message, text: message"></p>
<p data-bind="visible: existing, html: existing"></p>
<p class="field-error" data-bind="visible: error() || confirmed()">
<label>
<strong>
<input type="checkbox" data-bind="checked: confirmed" />
[% l("I confirm that this is the barcode as it appears on the release.") -%]
</strong>
</label>
</p>
<!-- /ko -->
</div>
<div class="bubble" data-bind="bubble: $root.annotationBubble">
<p>
[% l('The annotation field functions like a miniature wiki.') %]
</p>
<p>
[% l('The purpose of this field is to add information that usually doesn\'t fit into the strict structural data schema of MusicBrainz (be it due to technical limitations that may be addressed later, or because the information in itself has to be free-text).') %]
</p>
<p>
[% l('This annotation will be published under an open license (<a href="{url}" target="_blank">CC BY-NC-SA 3.0</a>) and as such, it should not contain text that you don\'t have the right to release under that license. While you can quote a source to support a point you\'re making, you should never enter promotional texts or other artist or label-owned texts into the annotation.',
{url => "https://creativecommons.org/licenses/by-nc-sa/3.0/"}) %]
</p>
</div>
<div class="bubble" data-bind="bubble: $root.commentBubble">
<p>
[% l('The disambiguation field is used to help users distinguish between identically named releases.') %]
</p>
<p>
[% l('This field is not a place to store general background information about the release: that kind of information should go in the annotation field.') %]
</p>
</div>
<div class="bubble" data-bind="bubble: $root.statusBubble">
<p>
[%- l('This release status should be used for unofficial translations
and transliterations of tracklists and release titles, and does
not denote a separate real release. It should not be used to
denote bootlegs, mixtape/street albums, demos, or digital
albums. Be sure to link to the corresponding real release with
the {url|transl(iter)ation relationship}.',
{ url => c.uri_for('/relationship/fc399d47-23a7-4c28-bfcf-0607a562b644') })
-%]
</p>
</div>
</div>