Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

{{!
    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].
    * imageauthorname - Badge image author name [optional].
    * imageauthoremail - Badge image author email [optional].
    * imageauthorurl - Badge image author URL [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",
        "imageauthorname": "Judit Blanque",
        "imageauthoremail": "<a href=\"mailto:xxx\">judit@moodle.invalid</a>",
        "imageauthorurl": "http://juditblanque.cat",
        "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">
    <div class="rui-badge-overview-wrapper border rounded p-4 mt-0 mb-2 d-inline-flex flex-wrap align-items-start w-100">
        <div id="badge-image-col" class="border rounded p-3 mr-md-6 w-100 w-md-auto">
            <img src="{{badgeimage}}" alt="{{imagecaption}}" width="100" 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="rui-badge-overview">
            <h2 class="rui-badge-name">{{badgename}}</h2>
            <div class="rui-badge-desc mt-3 mb-4">{{{badgedescription}}}</div>

            {{#recipientname}}
            <div id="badge-awardedto" class="badge-xs badge-sq badge-info mb-2">
                {{#recipientnotification}}
                    {{> core/notification_warning}}
                {{/recipientnotification}}
                {{#str}}awardedto, core_badges, {{recipientname}}{{/str}}
            </div>
            {{/recipientname}}

            <div id="badge-issued-expire" class="pt-1 small">
                <div class="pb-2">
                {{#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}}

                </div>

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

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

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

        </div>
    </div>

        <div id="badge-criteria" class="rui-badge-criteria my-4">
            <h5 class="d-inline-flex align-items-center w-100">
                <svg class="mr-2" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M10.75 13.25H6.75L13.25 4.75V10.75H17.25L10.75 19.25V13.25Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>
                {{#str}}bcriteria, core_badges{{/str}}
            </h5>
            <div class="ml-5">
            {{{criteria}}}
            </div>
        </div>

        {{#hasotherfields}}
        <div id="badge-other-fields">
            <a data-toggle="collapse" class="btn btn-sm btn-secondary" href="#collapseOtherDetails" role="button" aria-expanded="false" aria-controls="collapseOtherDetails">
                {{#str}}moredetails, core_badges{{/str}}
            </a>
            <div class="collapse mt-5 mx-0" id="collapseOtherDetails">
                <div class="container ml-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}}

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

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

                    {{#imageauthorurl}}
                        <dl>
                            <dt>
                                {{#str}}imageauthorurl, core_badges{{/str}}
                            </dt>
                            <dd>
                                <a href="{{imageauthorurl}}" target="_blank">{{imageauthorurl}}</a>
                            </dd>
                        </dl>
                    {{/imageauthorurl}}
                    {{#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 ml-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>