Merge pull request #13729 from annando/frio-channel
Frio: Improved user defined channel page
This commit is contained in:
commit
02a76cfcfd
2 changed files with 77 additions and 5 deletions
|
@ -101,8 +101,6 @@ class Channels extends BaseSettings
|
|||
$saved = $this->channel->save($channel);
|
||||
$this->logger->debug('Save channel', ['id' => $id, 'saved' => $saved]);
|
||||
}
|
||||
|
||||
$this->baseUrl->redirect('/settings/channels');
|
||||
}
|
||||
|
||||
protected function content(array $request = []): string
|
||||
|
@ -125,9 +123,19 @@ class Channels extends BaseSettings
|
|||
$circles[$circle['id']] = $circle['name'];
|
||||
}
|
||||
|
||||
$blocklistform = [];
|
||||
$channels = [];
|
||||
foreach ($this->channel->selectByUid($uid) as $channel) {
|
||||
$blocklistform[] = [
|
||||
if (!empty($request['id'])) {
|
||||
$open = $channel->code == $request['id'];
|
||||
} elseif (!empty($request['new_label'])) {
|
||||
$open = $channel->label == $request['new_label'];
|
||||
} else {
|
||||
$open = false;
|
||||
}
|
||||
|
||||
$channels[] = [
|
||||
'id' => $channel->code,
|
||||
'open' => $open,
|
||||
'label' => ["label[$channel->code]", $this->t('Label'), $channel->label, '', $this->t('Required')],
|
||||
'description' => ["description[$channel->code]", $this->t("Description"), $channel->description],
|
||||
'access_key' => ["access_key[$channel->code]", $this->t("Access Key"), $channel->accessKey],
|
||||
|
@ -144,6 +152,7 @@ class Channels extends BaseSettings
|
|||
|
||||
$t = Renderer::getMarkupTemplate('settings/channels.tpl');
|
||||
return Renderer::replaceMacros($t, [
|
||||
'open' => count($channels) == 0,
|
||||
'label' => ["new_label", $this->t('Label'), '', $this->t('Short name for the channel. It is displayed on the channels widget.'), $this->t('Required')],
|
||||
'description' => ["new_description", $this->t("Description"), '', $this->t('This should describe the content of the channel in a few word.')],
|
||||
'access_key' => ["new_access_key", $this->t("Access Key"), '', $this->t('When you want to access this channel via an access key, you can define it here. Pay attention to not use an already used one.')],
|
||||
|
@ -166,7 +175,7 @@ class Channels extends BaseSettings
|
|||
'delentry' => $this->t('Delete entry from the channel list'),
|
||||
'confirm_delete' => $this->t('Delete entry from the channel list?'),
|
||||
],
|
||||
'$entries' => $blocklistform,
|
||||
'$entries' => $channels,
|
||||
'$baseurl' => $this->baseUrl,
|
||||
|
||||
'$form_security_token' => self::getFormSecurityToken('settings_channels'),
|
||||
|
|
63
view/theme/frio/templates/settings/channels.tpl
Normal file
63
view/theme/frio/templates/settings/channels.tpl
Normal file
|
@ -0,0 +1,63 @@
|
|||
<div class="generic-page-wrapper">
|
||||
<h1>{{$l10n.title}}</h1>
|
||||
<p>{{$l10n.intro}}</p>
|
||||
<div class="panel-group panel-group-settings" id="settings-channels" role="tablist" aria-multiselectable="true">
|
||||
<form class="panel" action="{{$baseurl}}/settings/channels" method="post">
|
||||
<div class="section-subtitle-wrapper panel-heading" role="tab" id="add-settings-title">
|
||||
<h2>
|
||||
<button class="btn-link accordion-toggle{{if !$open}} collapsed{{/if}}" data-toggle="collapse" data-parent="#settings-channels" href="#add-settings-content" aria-expanded="false" aria-controls="add-settings-content">
|
||||
{{$l10n.addtitle}}
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
<div id="add-settings-content" class="panel-collapse collapse{{if $open}} in{{/if}}" role="tabpanel" aria-labelledby="add-settings-title">
|
||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||
{{include file="field_input.tpl" field=$label}}
|
||||
{{include file="field_input.tpl" field=$description}}
|
||||
{{include file="field_input.tpl" field=$access_key}}
|
||||
{{include file="field_select.tpl" field=$circle}}
|
||||
{{include file="field_textarea.tpl" field=$include_tags}}
|
||||
{{include file="field_textarea.tpl" field=$exclude_tags}}
|
||||
{{include file="field_textarea.tpl" field=$text_search}}
|
||||
{{include file="field_checkbox.tpl" field=$image}}
|
||||
{{include file="field_checkbox.tpl" field=$video}}
|
||||
{{include file="field_checkbox.tpl" field=$audio}}
|
||||
<div class="submit">
|
||||
<button type="submit" class="btn btn-primary" name="add_channel" value="{{$l10n.addsubmit}}">{{$l10n.addsubmit}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{{if $entries}}
|
||||
{{foreach $entries as $e}}
|
||||
<form class="panel" action="{{$baseurl}}/settings/channels" method="post">
|
||||
<div class="section-subtitle-wrapper panel-heading" role="tab" id="{{$e.id}}-settings-title">
|
||||
<h2>
|
||||
<button class="btn-link accordion-toggle{{if !$e.open}} collapsed{{/if}}" data-toggle="collapse" data-parent="#settings-channels" href="#{{$e.id}}-settings-content" aria-expanded="false" aria-controls="{{$e.id}}-settings-content">
|
||||
{{$e.label.2}}
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
<div id="{{$e.id}}-settings-content" class="panel-collapse collapse{{if $e.open}} in{{/if}}" role="tabpanel" aria-labelledby="{{$e.id}}-settings-title">
|
||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||
<input type="hidden" name="id" value="{{$e.id}}">
|
||||
{{include file="field_input.tpl" field=$e.label}}
|
||||
{{include file="field_input.tpl" field=$e.description}}
|
||||
{{include file="field_input.tpl" field=$e.access_key}}
|
||||
{{include file="field_select.tpl" field=$e.circle}}
|
||||
{{include file="field_textarea.tpl" field=$e.include_tags}}
|
||||
{{include file="field_textarea.tpl" field=$e.exclude_tags}}
|
||||
{{include file="field_textarea.tpl" field=$e.text_search}}
|
||||
{{include file="field_checkbox.tpl" field=$e.image}}
|
||||
{{include file="field_checkbox.tpl" field=$e.video}}
|
||||
{{include file="field_checkbox.tpl" field=$e.audio}}
|
||||
{{include file="field_checkbox.tpl" field=$e.delete}}
|
||||
<div class="submit">
|
||||
<button type="submit" class="btn btn-primary" name="edit_channel" value="{{$l10n.savechanges}}">{{$l10n.savechanges}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in a new issue