Merge pull request #13729 from annando/frio-channel
Frio: Improved user defined channel page
This commit is contained in:
commit
02a76cfcfd
|
@ -101,8 +101,6 @@ class Channels extends BaseSettings
|
||||||
$saved = $this->channel->save($channel);
|
$saved = $this->channel->save($channel);
|
||||||
$this->logger->debug('Save channel', ['id' => $id, 'saved' => $saved]);
|
$this->logger->debug('Save channel', ['id' => $id, 'saved' => $saved]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->baseUrl->redirect('/settings/channels');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function content(array $request = []): string
|
protected function content(array $request = []): string
|
||||||
|
@ -125,9 +123,19 @@ class Channels extends BaseSettings
|
||||||
$circles[$circle['id']] = $circle['name'];
|
$circles[$circle['id']] = $circle['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$blocklistform = [];
|
$channels = [];
|
||||||
foreach ($this->channel->selectByUid($uid) as $channel) {
|
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')],
|
'label' => ["label[$channel->code]", $this->t('Label'), $channel->label, '', $this->t('Required')],
|
||||||
'description' => ["description[$channel->code]", $this->t("Description"), $channel->description],
|
'description' => ["description[$channel->code]", $this->t("Description"), $channel->description],
|
||||||
'access_key' => ["access_key[$channel->code]", $this->t("Access Key"), $channel->accessKey],
|
'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');
|
$t = Renderer::getMarkupTemplate('settings/channels.tpl');
|
||||||
return Renderer::replaceMacros($t, [
|
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')],
|
'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.')],
|
'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.')],
|
'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'),
|
'delentry' => $this->t('Delete entry from the channel list'),
|
||||||
'confirm_delete' => $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,
|
'$baseurl' => $this->baseUrl,
|
||||||
|
|
||||||
'$form_security_token' => self::getFormSecurityToken('settings_channels'),
|
'$form_security_token' => self::getFormSecurityToken('settings_channels'),
|
||||||
|
|
|
@ -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 New Issue
Block a user