Skip to content

Commit

Permalink
Merge pull request #348 from ikedas/issue-11_5th by ikedas
Browse files Browse the repository at this point in the history
Remainder of fixes for issue #11
  • Loading branch information
ikedas authored Jun 21, 2018
2 parents 154d998 + f96432e commit 7a22234
Show file tree
Hide file tree
Showing 12 changed files with 2,346 additions and 1,988 deletions.
1 change: 1 addition & 0 deletions default/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ nobase_default_DATA = \
web_tt2/change_email_request.tt2 \
web_tt2/choosepasswd.tt2 \
web_tt2/compose_mail.tt2 \
web_tt2/config_common.tt2 \
web_tt2/confirm_action.tt2 \
web_tt2/copy_template.tt2 \
web_tt2/crash.tt2 \
Expand Down
219 changes: 219 additions & 0 deletions default/web_tt2/config_common.tt2
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
[%# Block definitions ~%]

[%~ BLOCK EditListSet # (ppaths,pitem,val) ~%]
<!-- set -->
[% IF pitem.privilege == 'write' ~%]
<select name="multiple_param.[% ppaths.join('.') %]"
id="param.[% ppaths.join('.') %]"
multiple="multiple" size="[% pitem.format.size() %]"
[%~ IF pitem.field_type == 'lang' %] class="neutral"[% END %]>
[% FOREACH enum = pitem.format ~%]
<option value="[% enum %]"
[%~ FOREACH v = val ~%]
[%~ IF enum == v %] selected="selected"[% END %]
[%~ END %]
[%~ IF pitem.field_type == 'lang' %] lang="[% enum %]"
xml:lang="[% enum %]"[% END %]>
[%~ enum | optdesc(pitem.field_type,is_listmaster) ~%]
</option>
[% END %]
</select>
[%~ ELSE ~%]
[% FOREACH enum = pitem.format ~%]
[% FOREACH v = val ~%]
[% IF enum == v ~%]
[%~ IF pitem.field_type == 'lang' ~%]
<span class="neutral" lang="[% enum %]" xml:lang="[% enum %]">
[%~ END ~%]
[% enum | optdesc(pitem.field_type,is_listmaster) %]
[%~ IF pitem.field_type == 'lang' ~%]
</span>
[%~ END %]

[%~ LAST %]
[%~ END %]
[% END %]
[%~ END %]
[%~ END %]
<!-- end set -->
[%~ END ~%]

[%~ BLOCK EditListArrayDel # (ppaths,pitem) ~%]
<!-- del -->
[% IF pitem.privilege == 'write' ~%]
<input type="checkbox" name="deleted_param.[% ppaths.join('.') %]"
id="del.[% ppaths.join('.') %]"
class="fadeIfChecked" data-selector="#item\.[% ppaths.join('\\.') %]"
value="del" />
<label for="del.[% ppaths.join('.') %]">[%|loc%]Delete[%END%]</label>
[%~ END %]
<!-- end del -->
[%~ END ~%]

[%~ BLOCK EditListLeaf # (ppaths,pitem,val) ~%]
[% IF pitem.enum ~%]
[% PROCESS EditListEnum %]
[%~ ELSIF pitem.scenario ~%]
[% PROCESS EditListScenario %]
[%~ ELSIF pitem.task ~%]
[% PROCESS EditListTask %]
[%~ ELSIF pitem.datasource ~%]
[% PROCESS EditListDatasource %]
[%~ ELSE ~%]
[% PROCESS EditListScalar %]
[%~ END %]
[%~ END ~%]

[%~ BLOCK EditListEnum # (ppaths,pitem,val) ~%]
<!-- enum -->
[% IF pitem.privilege == 'write' ~%]
<select name="single_param.[% ppaths.join('.') %]"
id="param.[% ppaths.join('.') %]"
[%~ IF pitem.field_type == 'lang' %] class="neutral"[% END %]>
[% IF pitem.occurrence.match('^0') || val.length() == 0 %][%# FIXME ~%]
<option value=""></option>
[%~ END %]
[% FOREACH enum = pitem.format ~%]
<option value="[% enum %]"
[%~ IF enum == val %] selected="selected"[% END %]
[%~ IF pitem.field_type == 'lang' %] lang="[% enum %]"
xml:lang="[% enum %]"[%END%]>
[%~ enum | optdesc(pitem.field_type,is_listmaster) ~%]
</option>
[% END %]
</select>
[%~ ELSE ~%]
[% FOREACH enum = pitem.format ~%]
[% IF enum == val ~%]
[% IF pitem.field_type == 'lang' ~%]
<span class="neutral" lang="[% enum %]" xml:lang="[% enum %]">
[%~ END ~%]
[% enum | optdesc(pitem.field_type,is_listmaster) %]
[%~ IF pitem.field_type == 'lang' ~%]
</span>
[%~ END %]

[%~ LAST %]
[%~ END %]
[%~ END %]
[%~ END %]
<!-- end enum -->
[%~ END ~%]

[%~ BLOCK EditListScenario # (ppaths,pitem,val) ~%]
<!-- scenario -->
[% IF pitem.privilege == 'write' ~%]
<select name="single_param.[% ppaths.join('.') %].name"
id="param.[% ppaths.join('.') %]">
[% FOREACH scenario = pitem.format ~%]
[% UNLESS scenario.value.name == 'default' ~%]
<option value="[% scenario.value.name %]"
[%~ IF scenario.value.name == val.name %] selected="selected"[% END %]>
[%~ scenario.value.title %]
[%~ IF is_listmaster %] ([% scenario.value.name %])[% END ~%]
</option>
[%~ END %]
[% END %]
</select>
[%~ ELSE ~%]
[% FOREACH scenario = pitem.format ~%]
[% IF scenario.value.name == val.name ~%]
[% scenario.value.title %]
[%~ IF is_listmaster %] ([% scenario.value.name %])[% END %]
[%~ END %]
[%~ END %]
[%~ END %]
<!-- end scenario -->
[%~ END ~%]

[%~ BLOCK EditListTask # (ppaths,pitem,val) ~%]
<!-- task -->
[% IF pitem.privilege == 'write' ~%]
<select name="single_param.[% ppaths.join('.') %].name"
id="param.[% ppaths.join('.') %]">
[% IF pitem.occurrence.match('^0') || val.length() == 0 %][%# FIXME ~%]
<option value=""></option>
[%~ END %]
[% FOREACH task = pitem.format ~%]
<option value="[% task.value.name %]"
[%~ IF task.value.name == val.name %] selected="selected"[% END %]>
[%~ task.value.title %]
[%~ IF is_listmaster %] ([% task.value.name %])[% END ~%]
</option>
[% END %]
</select>
[%~ ELSE ~%]
[% FOREACH task = pitem.format ~%]
[% IF task.value.name == val.name ~%]
[% task.value.title %]
[%~ IF is_listmaster %] ([% task.value.name %])[% END %]
[%~ END %]
[%~ END %]
[%~ END %]
<!-- end task -->
[%~ END ~%]

[%~ BLOCK EditListDatasource # (ppaths,pitem,val) ~%]
<!-- datasource -->
[% IF pitem.privilege == 'write' ~%]
<select name="single_param.[% ppaths.join('.') %]"
id="param.[% ppaths.join('.') %]">
[% IF pitem.occurrence.match('^0') || val.length() == 0 %][%# FIXME ~%]
<option value=""></option>
[%~ END %]
[% FOREACH source = pitem.format ~%]
<option value="[% source.value.name %]"
[%~ IF source.value.name == val %] selected="selected"[% END %]>
[%~ source.value.title %]
[%~ IF is_listmaster %] ([% source.value.name %])[% END ~%]
</option>
[% END %]
</select>
[%~ ELSE ~%]
[% FOREACH source = pitem.format ~%]
[% IF source.value.name == val ~%]
[% source.value.title %]
[%~ IF is_listmaster %] ([% source.value.name %])[% END %]
[%~ END %]
[%~ END %]
[%~ END %]
<!-- end datasource -->
[%~ END ~%]

[%~ BLOCK EditListScalar # (ppaths,pitem,val) ~%]
<!-- scalar -->
[% IF pitem.privilege == 'write' ~%]
[% IF pitem.unit ~%]
<span style="display:inline-block">[%# FIXME %]
[%~ END %]
<input name="single_param.[% ppaths.join('.') %]"
id="param.[% ppaths.join('.') %]"
value="[% val %]" size="[% pitem.length %]"
[%~ IF pitem.field_type == 'password' %] type="password"
[%~ ELSE %] type="text"
[%~ END %]
[%~ IF pitem.field_type == 'lang' %] class="neutral"[% END %] />
[% IF pitem.unit ~%]
</span>
[%~ END %]

[% pitem.unit %]
[%~ ELSE ~%]
[% IF pitem.field_type == 'lang' ~%]
<span class="neutral" lang="[% val %]" xml:lang="[% val %]">
[%~ END ~%]
[% IF pitem.field_type ~%]
[% val | optdesc(pitem.field_type,is_listmaster) %]
[%~ ELSE ~%]
[% val %]
[%~ END %]
[%~ IF pitem.field_type == 'lang' ~%]
</span>
[%~ END %]

[% IF val.length() ~%]
[% pitem.unit %]
[%~ END %]
[%~ END %]
<!-- end scalar -->
[%~ END ~%]
106 changes: 31 additions & 75 deletions default/web_tt2/edit.tt2
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
<!-- edit.tt2 -->
[% PROCESS config_common.tt2 ~%]

[% SET pS = config_schema.0 ~%]
[% SET oV = config_values.${pS.name}.0 ~%]

<h2>
[% IF role == 'owner' ~%]
[% IF pS.name == 'owner' ~%]
[%|loc%]Owner[%END%]
[%~ ELSIF role == 'editor' ~%]
[%~ ELSIF pS.name == 'editor' ~%]
[%|loc%]Moderator[%END%]
[%~ ELSE ~%]
[% RETURN %]
Expand All @@ -11,90 +16,41 @@

<form action="[% path_cgi %]" method="post">
<fieldset>
[% SET pV = config_values.${role}.0 ~%]

<input type="hidden" name="previous_action" value="[% previous_action %]" />
<input type="hidden" name="list" value="[% list %]" />
<input type="hidden" name="role" value="[% role %]" />
<input type="hidden" name="email" value="[% pV.email %]" />
<input type="hidden" name="role" value="[% pS.name %]" />
<input type="hidden" name="email" value="[% oV.email %]" />

<div class="row">
[% FOREACH kS = pS.format ~%]
[% NEXT UNLESS kS.privilege == 'read' || kS.privilege == 'write' ~%]
[% IF kS.name == 'subscribed' || kS.name == 'included' || kS.name == 'id' ~%]
[% NEXT %] [%~# FIXME %]
[%~ END %]

<div class="columns">
<label for="email">[%|loc%]Email:[%END%] </label>
[% pV.email %]
</div>

<div class="columns">
<label for="gecos">[%|loc%]Name:[%END%] </label>
<input type="text" name="single_param.[% role %].0.gecos" id="gecos"
value="[% pV.gecos %]" size="25" />
</div>

[% IF is_privileged_owner ~%]
<div class="columns">
<label for="info">[%|loc%]private information[%END%] </label>
<input type="text" name="single_param.[% role %].0.info" id="info"
value="[% pV.info %]" size="30" />
</div>
[%~ END %]
<label for="[% kS.name %]">
[% IF kS.title ~%]
[% kS.title %]
[%~ ELSE ~%]
[% kS.name %]
[%~ END %]
</label>

[% IF role == 'owner' ~%]
<div class="columns">
<label for="profile">[%|loc%]profile[%END%] </label>
[% IF is_listmaster ~%]
<select name="single_param.[% role %].0.profile" id="profile">
[% FOREACH r = ['normal', 'privileged'] ~%]
<option value="[% r %]"
[%~ IF r == pV.profile %] selected="selected"[% END ~%]
>
[%~ r | optdesc ~%]
</option>
[% END %]
</select>
[%~ ELSE ~%]
[% pV.profile | optdesc %]
[%~ END %]
[% IF kS.name == 'email' ~%]
[% oV.${kS.name} %]
[%~ ELSE ~%]
[% PROCESS EditListLeaf
ppaths = [pS.name,0,kS.name]
pitem = kS
val = oV.${kS.name}
%]
[%~ END %]
</div>
[%~ END %]

<div class="columns">
<label for="reception">[%|loc%]Receiving:[%END%] </label>
<select name="single_param.[% role %].0.reception" id="reception">
[% FOREACH r = ['mail', 'nomail'] ~%]
<option value="[% r %]"
[%~ IF r == pV.reception %] selected="selected"[% END ~%]
>
[%~ r | optdesc ~%]
</option>
[% END %]
</select>
</div>

<div class="columns">
<label for="visibility">[%|loc%]Visibility:[%END%] </label>
<select id="visibility" name="single_param.[% role %].0.visibility">
[% FOREACH r = ['noconceal', 'conceal'] ~%]
<option value="[% r %]"
[%~ IF r == pV.visibility %] selected="selected"[% END ~%]
>
[%~ r | optdesc ~%]
</option>
[% END %]
</select>
</div>

<div class="columns">
<label>[%|loc%]Delegated since:[%END%] </label>
[% pV.date | optdesc('unixtime') %]
</div>

<div class="columns">
<label>[%|loc%]Last update:[%END%] </label>
[% pV.update_date | optdesc('unixtime') %]
</div>

[% IF is_privileged_owner ~%]
[% IF pS.privilege == 'write' && is_privileged_owner ~%]
<input type="hidden" name="submit" value="submit" />
<div class="columns">
<input class="MainMenuLinks" type="submit" name="action_edit"
Expand Down
Loading

0 comments on commit 7a22234

Please sign in to comment.