4 * Copyright (c) 2003-2008 John Willinsky
5 * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
7 * Step 3 of press setup.
9 * $Id: step3.tpl,v 1.14 2009/09/24 17:20:35 tylerl Exp $
11 {assign var="pageTitle" value="manager.setup.preparingWorkflow"}
12 {include file="manager/setup/setupHeader.tpl"}
14 <script type="text/javascript">
18 function addWorkflowRole(fromSelect, toElementId, prefix) {
19 fromSelectElement=document.setupForm.elements[fromSelect];
20 role=fromSelectElement.options[fromSelectElement.selectedIndex];
24 fromSelectElement.removeChild(role);
27 toElement=document.getElementById(toElementId);
28 var roleDiv = document.createElement('div');
29 roleDiv.id=prefix+'-'+roleId;
31 var removeButton = document.createElement('input');
32 removeButton.type='button';
33 removeButton.className='button';
34 removeButton.value='X';
35 removeButton.setAttribute('onclick', 'removeWorkflowRole(\''+fromSelect+'\',\''+prefix+'\',\''+roleId+'\',\''+roleText+'\')');
37 var roleInfo = document.createElement('input');
38 roleInfo.type='hidden';
39 roleInfo.name=prefix+'['+roleId+']';
40 roleInfo.value=roleId;
43 var roleRow = document.createElement('p');
44 roleRow.appendChild(removeButton);
45 roleRow.appendChild(document.createTextNode(roleText));
46 roleDiv.appendChild(roleInfo);
47 roleDiv.appendChild(roleRow);
48 toElement.appendChild(roleDiv);
51 function removeWorkflowRole(toName, prefix, roleId, roleName) {
52 var toElement=document.setupForm.elements[toName];
53 var fromElement=document.getElementById(prefix+'-'+roleId);
55 fromElement.parentNode.removeChild(fromElement);
57 var option=document.createElement('option');
59 option.appendChild(document.createTextNode(roleName));
61 toElement.appendChild(option);
68 <form name="setupForm" method="post" action="{url op="saveSetup" path="3"}" enctype="multipart/form-data">
69 {include file="common/formErrors.tpl"}
71 {if count($formLocales) > 1}
72 <table width="100%" class="data">
74 <td width="20%" class="label">{fieldLabel name="formLocale" key="form.formLanguage"}</td>
75 <td width="80%" class="value">
76 {url|assign:"setupFormUrl" op="setup" path="3"}
77 {form_language_chooser form="setupForm" url=$setupFormUrl}
78 <span class="instruct">{translate key="form.formLanguage.description"}</span>
84 <h3>3.1 {translate key="manager.setup.pressRoles"}</h3>
86 <p>{translate key="manager.setup.pressRolesDescription"}</p>
88 <table border="0" align="center">
91 {assign var="flexRoleAuthorId" value=$smarty.const.FLEXIBLE_ROLE_CLASS_AUTHOR}
92 {assign var="flexRolePressId" value=$smarty.const.FLEXIBLE_ROLE_CLASS_PRESS}
94 <p>{translate key="manager.setup.roleName"}</p>
95 <input type="text" name="newRole[name]" class="textField" />
96 <p>{translate key="manager.setup.roleAbbrev"}</p>
97 <input type="text" name="newRole[abbrev]" class="textField" />
98 <p>{translate key="manager.setup.roleType}</p>
99 <input type="radio" name="newRole[type]" checked="checked" value="{$flexRoleAuthorId}" /> {translate key="manager.setup.authorRole"}
100 <input type="radio" name="newRole[type]" value="{$flexRolePressId}" /> {translate key="manager.setup.pressRole"}
103 <input class="button defaultButton" name="addRole" style="width:100px;" type="submit" value="→ {translate key="common.add"}" />
104 <input type="hidden" name="deletedFlexibleRoles" value="{$deletedFlexibleRoles|escape}" />
107 <p><strong>{translate key="manager.setup.authorRoles"}</strong></p>
108 <div id="authorRoles" class="flexibleRolesList">
109 {foreach from=$additionalRoles.$flexRoleAuthorId key=key item=additionalRole}
110 <input type="hidden" name="additionalRoles[{$flexRoleAuthorId}][{$key|escape}][flexibleRoleId]" value="{$additionalRole.flexibleRoleId|escape}" />
111 <input type="hidden" name="additionalRoles[{$flexRoleAuthorId}][{$key|escape}][name][{$formLocale|escape}]" value="{$additionalRole.name.$formLocale|escape}"/>
112 <input type="hidden" name="additionalRoles[{$flexRoleAuthorId}][{$key|escape}][abbrev][{$formLocale|escape}]" value="{$additionalRole.abbrev.$formLocale|escape}"/>
113 <p><input type="submit" class="button" name="removeRole[{$flexRoleAuthorId}][{$key|escape}]" value="X" /> {$additionalRole.name.$formLocale|escape} ({$additionalRole.abbrev.$formLocale|escape})</p>
116 <p><strong>{translate key="manager.setup.pressRoles"}</strong></p>
117 <div id="pressRoles" class="flexibleRolesList">
118 {foreach from=$additionalRoles.$flexRolePressId key=key item=additionalRole}
119 <input type="hidden" name="additionalRoles[{$flexRolePressId}][{$key|escape}][flexibleRoleId]" value="{$additionalRole.flexibleRoleId|escape}" />
120 <input type="hidden" name="additionalRoles[{$flexRolePressId}][{$key|escape}][name][{$formLocale|escape}]" value="{$additionalRole.name.$formLocale|escape}"/>
121 <input type="hidden" name="additionalRoles[{$flexRolePressId}][{$key|escape}][abbrev][{$formLocale|escape}]" value="{$additionalRole.abbrev.$formLocale|escape}"/>
122 <p><input type="submit" class="button" name="removeRole[{$flexRolePressId}][{$key|escape}]" value="X" /> {$additionalRole.name.$formLocale|escape} ({$additionalRole.abbrev.$formLocale|escape})</p>
125 <input type="hidden" name="nextRoleId" value="{$nextRoleId|escape}" />
130 <div class="separator"></div>
132 <h3>3.2 {translate key="manager.setup.submissionRoles}</h3>
134 <p>{translate key="manager.setup.submissionRolesDescription"}</p>
136 <table border="0" align="center">
139 <p><strong>{translate key="manager.setup.availableRoles"}</strong></p>
140 <select name="availableSubmissionRoles">
141 {foreach from=$additionalRoles.$flexRoleAuthorId key=key item=additionalRole}
142 {if !isset($submissionRoles.$key)}<option value="{$key|escape}">{$additionalRole.name.$formLocale|escape} ({$additionalRole.abbrev.$formLocale|escape})</option>{/if}
146 <td valign="center" style="width:7em">
147 <input class="button defaultButton" type="button" value="→ {translate key="common.add"}" onclick="addWorkflowRole('availableSubmissionRoles','currentSubmissionRoles','submissionRoles');" />
150 <p><strong>{translate key="manager.setup.currentRoles"}</strong></p>
151 <div id="currentSubmissionRoles" class="flexibleRolesList">
152 {foreach from=$submissionRoles key=key item=currentRole}
153 {assign var="roleName" value=$additionalRoles.$flexRoleAuthorId.$key.name.$formLocale|cat:" ("|cat:$additionalRoles.$flexRoleAuthorId.$key.abbrev.$formLocale|cat:")"}
154 <div id="submissionRoles-{$key|escape}">
155 <input type="hidden" name="submissionRoles[{$key|escape}]" value=""/>
156 <p><input type="button" class="button" onclick="removeWorkflowRole('availableSubmissionRoles','submissionRoles','{$key|escape}','{$roleName|escape}')" value="X" />{$roleName|escape}</p>
164 <div class="separator"></div>
166 <h3>3.3 {translate key="manager.setup.bookFileTypes}</h3>
168 <p>{translate key="manager.setup.bookFileTypesDescription"}</p>
170 {foreach name=bookFileTypes from=$bookFileTypes[$formLocale] key=fileTypeId item=fileTypeItem}
171 {if !$notFirstFileTypeItem}
172 {assign var=notFirstFileTypeItem value=1}
173 <table width="100%" class="data">
175 <td width="5%"> </td>
176 <td width="30%">{translate key="common.type"}</td>
177 <td width="70%">{translate key="common.filePrefix"}</td>
182 <td><input type="checkbox" name="bookFileTypeSelect[]" value="{$fileTypeId}" /></td>
183 <td>{$fileTypeItem.type}</td>
184 <td>{$fileTypeItem.prefix}</td>
187 {if $notFirstFileTypeItem}
191 <input type="submit" name="deleteSelectedBookFileTypes" value="{translate key="manager.setup.deleteSelected"}" class="button" />
192 <input type="submit" name="restoreDefaultBookFileTypes" value="{translate key="manager.setup.restoreDefaults"}" class="button" />
195 <div class="newItemContainer">
196 <h3>{translate key="manager.setup.newBookFileType"}</h3>
197 <p>{translate key="manager.setup.newBookFileTypeDescription"}</p>
200 <td>{translate key="common.filePrefix"}</td><td><input type="text" name="newBookFileType[prefix]" class="textField" /></td>
203 <td>{translate key="common.type"}</td><td><input type="text" name="newBookFileType[type]" class="textField" /></td>
206 <td>{translate key="common.description"}</td><td><textarea name="newBookFileType[description]" rows="5" cols="30" class="textArea"></textarea></td>
209 <td>{translate key="common.sortableByComponent"}</td><td><input type="checkbox" name="newBookFileType[sortable]" class="textField" /></td>
212 <td> </td><td><input type="submit" name="addBookFileType" value="{translate key="common.create"}" class="button" /></td>
217 <div class="separator"></div>
219 <h3>3.4 {translate key="manager.setup.submissionLibrary}</h3>
221 <div class="separator"></div>
223 <h3>3.5 {translate key="manager.setup.internalReviewRoles}</h3>
225 <p>{translate key="manager.setup.internalReviewRolesDescription"}</p>
227 <table border="0" align="center">
230 <p><strong>{translate key="manager.setup.availableRoles"}</strong></p>
231 <select name="availableInternalReviewRoles">
232 {foreach from=$additionalRoles.$flexRolePressId key=key item=additionalRole}
233 {if !isset($internalReviewRoles.$key)}<option value="{$key|escape}">{$additionalRole.name.$formLocale|escape} ({$additionalRole.abbrev.$formLocale|escape})</option>{/if}
237 <td valign="center" style="width:7em">
238 <input class="button defaultButton" type="button" value="→ {translate key="common.add"}" onclick="addWorkflowRole('availableInternalReviewRoles','currentInternalReviewRoles','internalReviewRoles');" />
241 <p><strong>{translate key="manager.setup.currentRoles"}</strong></p>
242 <div id="currentInternalReviewRoles" class="flexibleRolesList">
243 {foreach from=$internalReviewRoles key=key item=currentRole}
244 {assign var="roleName" value=$additionalRoles.$flexRolePressId.$key.name.$formLocale|cat:" ("|cat:$additionalRoles.$flexRolePressId.$key.abbrev.$formLocale|cat:")"}
245 <div id="internalReviewRoles-{$key|escape}">
246 <input type="hidden" name="internalReviewRoles[{$key|escape}]" value=""/>
247 <p><input type="button" class="button" onclick="removeWorkflowRole('availableInternalReviewRoles','internalReviewRoles','{$key|escape}','{$roleName|escape}')" value="X" />{$roleName|escape}</p>
255 <div class="separator"></div>
257 <h3>3.6 {translate key="manager.setup.externalReviewRoles}</h3>
259 <p>{translate key="manager.setup.externalReviewRolesDescription"}</p>
261 <table border="0" align="center">
264 <p><strong>{translate key="manager.setup.availableRoles"}</strong></p>
265 <select name="availableExternalReviewRoles">
266 {foreach from=$additionalRoles.$flexRolePressId key=key item=additionalRole}
267 {if !isset($externalReviewRoles.$key)}<option value="{$key|escape}">{$additionalRole.name.$formLocale|escape} ({$additionalRole.abbrev.$formLocale|escape})</option>{/if}
271 <td valign="center" style="width:7em">
272 <input class="button defaultButton" type="button" value="→ {translate key="common.add"}" onclick="addWorkflowRole('availableExternalReviewRoles','currentExternalReviewRoles','externalReviewRoles');" />
275 <p><strong>{translate key="manager.setup.currentRoles"}</strong></p>
276 <div id="currentExternalReviewRoles" class="flexibleRolesList">
277 {foreach from=$externalReviewRoles key=key item=currentRole}
278 {assign var="roleName" value=$additionalRoles.$flexRolePressId.$key.name.$formLocale|cat:" ("|cat:$additionalRoles.$flexRolePressId.$key.abbrev.$formLocale|cat:")"}
279 <div id="externalReviewRoles-{$key|escape}">
280 <input type="hidden" name="externalReviewRoles[{$key|escape}]" value=""/>
281 <p><input type="button" class="button" onclick="removeWorkflowRole('availableExternalReviewRoles','externalReviewRoles','{$key|escape}','{$roleName|escape}')" value="X" />{$roleName|escape}</p>
289 <div class="separator"></div>
291 <h3>3.7 {translate key="manager.setup.reviewLibrary}</h3>
293 <div class="separator"></div>
295 <h3>3.8 {translate key="manager.setup.reviewForms}</h3>
297 <div class="separator"></div>
299 <h3>3.9 {translate key="manager.setup.editorialRoles}</h3>
301 <p>{translate key="manager.setup.editorialRolesDescription"}</p>
303 <table border="0" align="center">
306 <p><strong>{translate key="manager.setup.availableRoles"}</strong></p>
307 <select name="availableEditorialRoles">
308 {foreach from=$additionalRoles.$flexRolePressId key=key item=additionalRole}
309 {if !isset($editorialRoles.$key)}<option value="{$key|escape}">{$additionalRole.name.$formLocale|escape} ({$additionalRole.abbrev.$formLocale|escape})</option>{/if}
313 <td valign="center" style="width:7em">
314 <input class="button defaultButton" type="button" value="→ {translate key="common.add"}" onclick="addWorkflowRole('availableEditorialRoles','currentEditorialRoles','editorialRoles');" />
317 <p><strong>{translate key="manager.setup.currentRoles"}</strong></p>
318 <div id="currentEditorialRoles" class="flexibleRolesList">
319 {foreach from=$editorialRoles key=key item=currentRole}
320 {assign var="roleName" value=$additionalRoles.$flexRolePressId.$key.name.$formLocale|cat:" ("|cat:$additionalRoles.$flexRolePressId.$key.abbrev.$formLocale|cat:")"}
321 <div id="editorialRoles-{$key|escape}">
322 <input type="hidden" name="editorialRoles[{$key|escape}]" value=""/>
323 <p><input type="button" class="button" onclick="removeWorkflowRole('availableEditorialRoles','editorialRoles','{$key|escape}','{$roleName|escape}')" value="X" />{$roleName|escape}</p>
331 <div class="separator"></div>
333 <h3>3.10 {translate key="manager.setup.editorialLibrary}</h3>
335 <div class="separator"></div>
337 <h3>3.11 {translate key="manager.setup.productionRoles}</h3>
339 <p>{translate key="manager.setup.productionRolesDescription"}</p>
341 <table border="0" align="center">
344 <p><strong>{translate key="manager.setup.availableRoles"}</strong></p>
345 <select name="availableProductionRoles">
346 {foreach from=$additionalRoles.$flexRolePressId key=key item=additionalRole}
347 {if !isset($productionRoles.$key)}<option value="{$key|escape}">{$additionalRole.name.$formLocale|escape} ({$additionalRole.abbrev.$formLocale|escape})</option>{/if}
351 <td valign="center" style="width:7em">
352 <input class="button defaultButton" type="button" value="→ {translate key="common.add"}" onclick="addWorkflowRole('availableProductionRoles','currentProductionRoles','productionRoles');" />
355 <p><strong>{translate key="manager.setup.currentRoles"}</strong></p>
356 <div id="currentProductionRoles" class="flexibleRolesList">
357 {foreach from=$productionRoles key=key item=currentRole}
358 {assign var="roleName" value=$additionalRoles.$flexRolePressId.$key.name.$formLocale|cat:" ("|cat:$additionalRoles.$flexRolePressId.$key.abbrev.$formLocale|cat:")"}
359 <div id="productionRoles-{$key|escape}">
360 <input type="hidden" name="productionRoles[{$key|escape}]" value=""/>
361 <p><input type="button" class="button" onclick="removeWorkflowRole('availableProductionRoles','productionRoles','{$key|escape}','{$roleName|escape}')" value="X" />{$roleName|escape}</p>
369 <div class="separator"></div>
371 <h3>3.12 {translate key="manager.setup.productionLibrary}</h3>
373 <div class="separator"></div>
375 <h3>3.13 {translate key="manager.setup.productionTemplates}</h3>
377 <div class="separator"></div>
379 <h3>3.14 {translate key="manager.setup.publicationFormats}</h3>
381 <div class="separator"></div>
383 <p><input type="submit" value="{translate key="common.saveAndContinue"}" class="button defaultButton" /> <input type="button" value="{translate key="common.cancel"}" class="button" onclick="document.location.href='{url op="setup" escape=false}'" /></p>
385 <p><span class="formRequired">{translate key="common.requiredField"}</span></p>
389 {include file="common/footer.tpl"}