{#
/**
 * Copyright (C) 2023 Xibo Signage Ltd
 *
 * Xibo - Digital Signage - https://xibosignage.com
 *
 * This file is part of Xibo.
 *
 * Xibo is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * any later version.
 *
 * Xibo is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with Xibo.  If not, see <http://www.gnu.org/licenses/>.
 */
#}

{% set randomId = random() %}

{% extends "form-base.twig" %}
{% import "forms.twig" as forms %}
{% import "inline.twig" as inline %}

{% block formTitle %}
    {% set syncGroupName = syncGroup.name %}
    {% trans %}Manage Membership for {{ syncGroupName }}{% endtrans %}
{% endblock %}

{% block formButtons %}
    {% trans "Cancel" %}, XiboDialogClose()
    {% trans "Save" %}, membersFormSubmit("{{ randomId }}")
{% endblock %}

{% block callBack %}membersFormOpen{% endblock %}

{% block extra %}{{ extra|json_encode|raw }}{% endblock %}

{% block formHtml %}
    <div class="row">
        <div class="col-md-12">
            <div id="{{ randomId }}" class="div-horizontal controlDiv"
                 data-display="true"
                 data-display-get-url="{{ url_for("display.search") }}"
                 data-display-param="displayId"
                 data-display-param-unassign="unassignDisplayId"
                 data-display-url="{{ url_for("syncgroup.members", {id: syncGroup.syncGroupId}) }}"
                    {% if syncGroup.leadDisplayId == null %}
                        data-next-form-url="{{ url_for("syncgroup.form.edit", {id: syncGroup.syncGroupId}) }}"
                    {% endif %}
            >
                {% set helpText %}{% trans %}Check or un-check the options against each display to control whether they are a member or not.{% endtrans %}{% endset %}
                {{ forms.message(helpText) }}
                <div class="XiboGrid" id="{{ random() }}">
                    <div class="XiboFilter card mb-3 bg-light">
                        <div class="FilterDiv card-body" id="Filter">
                            <form class="form-inline" id="displayForm">
                                {% set title %}{% trans "Name" %}{% endset %}
                                {{ inline.input("display", title) }}

                                {% set title %}{% trans "Authorised" %}{% endset %}
                                {% set values = [{id: -1, value: ""}, {id: 1, value: "Yes"}, {id: 0, value: "No"}] %}
                                {{ inline.dropdown("authorised", "single", title, -1, values, "id", "value") }}

                                {{ inline.hidden("syncGroupIdMembers", syncGroup.syncGroupId) }}
                            </form>
                        </div>
                    </div>
                    <table id="displaysMembersTable" class="table table-bordered membersTable">
                        <thead>
                        <tr>
                            <th>{% trans "ID" %}</th>
                            <th>{% trans "Display" %}</th>
                            <th>{% trans "Status" %}</th>
                            <th>{% trans "Logged In" %}</th>
                            <th>{% trans "Version" %}</th>
                            <th>{% trans "Member" %}</th>
                        </tr>
                        </thead>
                        <tbody>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
{% endblock %}