{{!
    This file is part of Moodle - http://moodle.org/

    Moodle is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Moodle 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 General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
}}
{{!
    @template core_badges/issued_badge

    Display an issued badge.

    Context variables required for this template:
    * coursefullname - Course name (only available if it's a course badge).
    * sitefullname - Site name (only available if it's a site badge).
    * badgeimage - Badge image.
    * expireddate - Date (in the past) when the badge expired. If expiredate is defined, this field will be empty [optional].
    * expireddateformatted - Formatted expired date [optional].
    * expiredate - Date (in the future) when the badge will expire. If expireddate is defined, this field will be empty [optional].
    * badgename - Badge name.
    * badgedescription - Badge description.
    * badgeissuedon - Date where the badge was issued on by the user [optional].
    * recipientname - User awarded with the badge [optional].
    * recipientnotification.message - Message to be displayed if there is some issue with the recipient [optional].
    * criteria - HTML code with the criteria to display.
    * issuedby - Badge issuer.
    * issuedbyemailobfuscated - Badge issuer email link obfuscated.
    * hasotherfields - Wheter the badge has other fields or not.
    * language - Badge language [optional].
    * version - Badge version [optional].
    * imagecaption - Badge image caption [optional].
    * endorsement - Badge endorsement data, with id, badgeid, issuername... [optional].
    * hasrelatedbadges - Whether the badge has related badges or not.
    * relatedbadges - Array of related badges (if hasrelatedbadges is set to true).
    * hasalignments - Whether the badge has alignments or not.
    * alignments - Array of alignments (if hasalignments is set to true).
    * hostedurl - The URL where the badge is hosted [optional].

    Example context (json):
    {
        "coursefullname": "Learn Moodle 3.11 Basics",
        "badgeimage": "https://moodlesite/pluginfile/badges/123.jpg",
        "expiredate": 1656972000,
        "badgename": "Lean Moodle 3.11 Basics helper",
        "badgedescription":"This badge is awarded to people who have provided outstanding support to other participants in the MOOC",
        "badgeissuedon": 1625491897,
        "recipientname": "Judit Cortes",
        "recipientnotification": {
            "message": "This user cannot be verified as a recipient of this badge."
        },
        "criteria": "Complete <strong>ALL</strong> of the listed requirements.<ul><li>This badge has to be awarded by a user with the following role:<ul><li>Teacher</li></ul></li><li>The following activity has to be completed:<ul><li><strong>View video</strong></li></ul></li><li>The following badge has to be earned:<ul><li><strong>Lean Moodle 3.11 Basics participant</strong></li></ul></li></ul>",
        "issuedby": "Moodle HQ",
        "issuedbyemailobfuscated": "<a href=\"mailto:xxxxx\">Moodle HQ</a>",
        "hasotherfields": true,
        "language": "English",
        "version": "1.0beta",
        "imagecaption": "This is a nice picture from my cat",
        "endorsement": {
            "id": "2",
            "badgeid": "13",
            "issuername": "Endorsement",
            "issuerurl": "http://endorsement.cat",
            "issueremail": "<a href=\"mailto:xxxx\">endorsement@moodle.invalid</a>",
            "claimid": "http://claim.cat",
            "claimcomment": "This is an endorsement comment.",
            "dateissued": "1625491680"
        },
        "hasrelatedbadges": true,
        "relatedbadges": [
            {
                "id": "12",
                "name": "Lean Moodle 3.11 Basics participant",
                "version": "",
                "language": "en",
                "type": "2",
                "url": "http://xxxxx/badges/overview.php?id=12"
            }
        ],
        "hasalignments": true,
        "alignments": [
            {
                "id": "3",
                "badgeid": "13",
                "targetname": "Skill 1",
                "targeturl": "http://skill1.cat",
                "targetdescription": "This is the description for \"Skill 1\"",
                "targetframework": "Framework name",
                "targetcode": "S001"
            },
            {
                "id": "2",
                "badgeid": "13",
                "targetname": "Alignment1",
                "targeturl": "http://alignment1.cat",
                "targetdescription": "This is the description for alignament1",
                "targetframework": "Framework name",
                "targetcode": "A1001"
            }
        ],
        "hostedurl": "http://externalbackpack/badge?id=ABC"
    }
}}

<div id="badge" class="container-fluid">
<div class="row">
    <div id="badge-image-col" class="col col-auto">
        <img src="{{badgeimage}}" alt="{{imagecaption}}" width="300" class="mx-auto d-block"/>
        {{#expireddateformatted}}
            <span class="expireimage">
                {{# pix }} i/expired, core, {{# str }} expireddate, badges, {{expireddateformatted}} {{/ str }}{{/ pix }}
            </span>
        {{/expireddateformatted}}
        {{#downloadurl}}
            <form action="{{downloadurl}}" method="post" id="downloadbadgeform">
                <button type="submit" class="btn btn-secondary m-1 w-100">{{#str}}download{{/str}}</button>
            </form>
        {{/downloadurl}}
        {{#addtobackpackurl}}
            <form action="{{addtobackpackurl}}" method="post" id="addtobackpackform">
                <button type="submit" class="btn btn-secondary m-1 w-100">{{#str}}addtobackpack, badges{{/str}}</button>
            </form>
        {{/addtobackpackurl}}
    </div>

    <div id="badge-details-col" class="col">
        <h2>{{badgename}}</h2>

        {{#recipientname}}
        <div id="badge-awardedto" class="pt-1 pb-2">
            {{#recipientnotification}}
                {{> core/notification_warning}}
            {{/recipientnotification}}
            {{#str}}awardedto, core_badges, {{recipientname}}{{/str}}
        </div>
        {{/recipientname}}

        <div id="badge-issued-expire" class="pt-1 pb-2">
            <div class="pb-3">
            <small>
            {{#badgeissuedon}}
                {{#str}}
                    issuedon,
                    core_badges,
                    {{#userdate}}{{badgeissuedon}}, {{#str}} strftimedatetime, langconfig {{/str}}{{/userdate}}
                {{/str}}
                <br/>
            {{/badgeissuedon}}
            {{#expiredate}}
                {{#str}}
                    expiresin,
                    core_badges,
                    {{#userdate}}{{expiredate}}, {{#str}} strftimedatetime, langconfig {{/str}}{{/userdate}}
                {{/str}}
                <br/>
            {{/expiredate}}
            {{#expireddate}}
                {{#str}}
                    expiredin,
                    core_badges,
                    {{#userdate}}{{expireddate}}, {{#str}} strftimedatetime, langconfig {{/str}}{{/userdate}}
                {{/str}}
            {{/expireddate}}
            </small>
            </div>

            {{#issuedby}}
            <div class="pb-2">
                {{#str}}
                    issuedby,
                    core_badges,
                    {{#issuedbyemailobfuscated}}
                        {{{issuedbyemailobfuscated}}}
                    {{/issuedbyemailobfuscated}}
                    {{^issuedbyemailobfuscated}}
                        {{issuedby}}
                    {{/issuedbyemailobfuscated}}
                {{/str}}
            </div>
            {{/issuedby}}

            {{#hostedurl}}
            <div class="pb-2">
                <a href="{{.}}" target="_blank" aria-label="{{#str}}hostedurldescription, core_badges{{/str}}">
                    {{#str}}hostedurl, core_badges{{/str}}
                </a>
            </div>
            {{/hostedurl}}

            {{#coursefullname}}
            <div class="pb-2">
                {{#str}}
                    course,
                    core_badges,
                    {{coursefullname}}
                {{/str}}
            </div>
            {{/coursefullname}}
        </div>
        {{#badgetag}}
            <p class="pb-2">
                {{> core_tag/taglist}}
            </p>
        {{/badgetag}}

        <p class="pb-4">{{{badgedescription}}}</p>

        <div id="badge-criteria">
            <h3>{{#str}}bcriteria, core_badges{{/str}}</h3>
            {{{criteria}}}
        </div>

        {{#hasotherfields}}
        <div id="badge-other-fields">
            <a data-bs-toggle="collapse" href="#collapseOtherDetails" role="button" aria-expanded="false" aria-controls="collapseOtherDetails">
                {{#str}}moredetails, core_badges{{/str}}
            </a>
            <div class="collapse" id="collapseOtherDetails">
                <div class="container ms-0">
                    {{#version}}
                        <dl>
                            <dt>
                                {{#str}}version, core_badges{{/str}}
                            </dt>
                            <dd>
                                {{version}}
                            </dd>
                        </dl>
                    {{/version}}

                    {{#language}}
                        <dl>
                            <dt>
                                {{#str}}language, core_badges{{/str}}
                            </dt>
                            <dd>
                                {{language}}
                            </dd>
                        </dl>
                    {{/language}}

                    {{#imagecaption}}
                        <dl>
                            <dt>
                                {{#str}}imagecaption, core_badges{{/str}}
                            </dt>
                            <dd>
                                {{imagecaption}}
                            </dd>
                        </dl>
                    {{/imagecaption}}
                </div>

            {{#endorsement}}
                <h4>{{#str}}endorsement, core_badges{{/str}}</h4>
                <div class="container ms-0">
                    <dl>
                        <dt>
                            {{#str}}issuername, core_badges{{/str}}
                        </dt>
                        <dd>
                            {{issuername}}
                        </dd>
                    </dl>

                    <dl>
                        <dt>
                            {{#str}}issueremail, core_badges{{/str}}
                        </dt>
                        <dd>
                            {{{issueremail}}}
                        </dd>
                    </dl>

                    <dl>
                        <dt>
                            {{#str}}issuerurl, core_badges{{/str}}
                        </dt>
                        <dd>
                            <a href="{{issuerurl}}" target="_blank">{{issuerurl}}</a>
                        </dd>
                    </dl>

                    <dl>
                        <dt>
                            {{#str}}dateawarded, core_badges{{/str}}
                        </dt>
                        <dd>
                            {{#userdate}}{{dateissued}}, {{#str}} strftimedatetime, langconfig {{/str}}{{/userdate}}
                        </dd>
                    </dl>

                    <dl>
                        <dt>
                            {{#str}}claimid, core_badges{{/str}}
                        </dt>
                        <dd>
                            <a href="{{claimid}}" target="_blank">{{claimid}}</a>
                        </dd>
                    </dl>

                    <dl>
                        <dt>
                            {{#str}}claimcomment, core_badges{{/str}}
                        </dt>
                        <dd>
                            {{claimcomment}}
                        </dd>
                    </dl>
                </div>
            {{/endorsement}}

            {{#hasrelatedbadges}}
                <h4>{{#str}}relatedbages, core_badges{{/str}}</h4>
                <ul>
            {{/hasrelatedbadges}}
            {{#relatedbadges}}
                <li>
                {{#url}}<a href="{{url}}" target="_blank">{{/url}}
                    {{name}}
                {{#url}}</a>{{/url}}
                </li>
            {{/relatedbadges}}
            {{#hasrelatedbadges}}
                </ul>
            {{/hasrelatedbadges}}

            {{#hasalignments}}
                <h4>{{#str}}alignment, core_badges{{/str}}</h4>
                <ul>
            {{/hasalignments}}
            {{#alignments}}
                <li>
                    <a href="{{targeturl}}" target="_blank">{{targetname}}</a>
                </li>
            {{/alignments}}
            {{#hasalignments}}
                </ul>
            {{/hasalignments}}
            </div>
        </div>
        {{/hasotherfields}}
    </div>
</div>
</div>
