Restrict adding todo list and calendars to admin users (#19408)

This commit is contained in:
Bram Kragten 2024-01-16 10:44:28 +01:00 committed by GitHub
parent 0ba8babd87
commit 1f2683dd56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 15 deletions

View File

@ -147,11 +147,18 @@ class PanelCalendar extends LitElement {
></ha-svg-icon> ></ha-svg-icon>
</ha-button> </ha-button>
${calendarItems} ${calendarItems}
<li divider role="separator"></li> ${this.hass.user?.is_admin
<ha-list-item graphic="icon" @click=${this._addCalendar}> ? html` <li divider role="separator"></li>
<ha-svg-icon .path=${mdiPlus} slot="graphic"></ha-svg-icon> <ha-list-item graphic="icon" @click=${this._addCalendar}>
${this.hass.localize("ui.components.calendar.create_calendar")} <ha-svg-icon
</ha-list-item> .path=${mdiPlus}
slot="graphic"
></ha-svg-icon>
${this.hass.localize(
"ui.components.calendar.create_calendar"
)}
</ha-list-item>`
: nothing}
</ha-button-menu>` </ha-button-menu>`
: html`<div slot="title"> : html`<div slot="title">
${this.hass.localize("ui.components.calendar.my_calendars")} ${this.hass.localize("ui.components.calendar.my_calendars")}
@ -162,7 +169,7 @@ class PanelCalendar extends LitElement {
.label=${this.hass.localize("ui.common.refresh")} .label=${this.hass.localize("ui.common.refresh")}
@click=${this._handleRefresh} @click=${this._handleRefresh}
></ha-icon-button> ></ha-icon-button>
${showPane ${showPane && this.hass.user?.is_admin
? html`<mwc-list slot="pane" multi}>${calendarItems}</mwc-list> ? html`<mwc-list slot="pane" multi}>${calendarItems}</mwc-list>
<ha-list-item <ha-list-item
graphic="icon" graphic="icon"

View File

@ -204,19 +204,30 @@ class PanelTodo extends LitElement {
></ha-svg-icon> ></ha-svg-icon>
</ha-button> </ha-button>
${listItems} ${listItems}
<li divider role="separator"></li> ${this.hass.user?.is_admin
<ha-list-item graphic="icon" @click=${this._addList}> ? html`<li divider role="separator"></li>
<ha-svg-icon .path=${mdiPlus} slot="graphic"></ha-svg-icon> <ha-list-item graphic="icon" @click=${this._addList}>
${this.hass.localize("ui.panel.todo.create_list")} <ha-svg-icon
</ha-list-item> .path=${mdiPlus}
slot="graphic"
></ha-svg-icon>
${this.hass.localize("ui.panel.todo.create_list")}
</ha-list-item>`
: nothing}
</ha-button-menu>` </ha-button-menu>`
: this.hass.localize("panel.todo")} : this.hass.localize("panel.todo")}
</div> </div>
<mwc-list slot="pane" activatable>${listItems}</mwc-list> <mwc-list slot="pane" activatable>${listItems}</mwc-list>
<ha-list-item graphic="icon" slot="pane-footer" @click=${this._addList}> ${showPane && this.hass.user?.is_admin
<ha-svg-icon .path=${mdiPlus} slot="graphic"></ha-svg-icon> ? html`<ha-list-item
${this.hass.localize("ui.panel.todo.create_list")} graphic="icon"
</ha-list-item> slot="pane-footer"
@click=${this._addList}
>
<ha-svg-icon .path=${mdiPlus} slot="graphic"></ha-svg-icon>
${this.hass.localize("ui.panel.todo.create_list")}
</ha-list-item>`
: nothing}
<ha-button-menu slot="actionItems"> <ha-button-menu slot="actionItems">
<ha-icon-button <ha-icon-button
slot="trigger" slot="trigger"