Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remainder of fixes for issue #11 #348

Merged
merged 5 commits into from
Jun 21, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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