diff --git a/app/scodoc/sco_formsemestre_edit.py b/app/scodoc/sco_formsemestre_edit.py index ee7a133a3aeea6767571715eb6500d17da1d5400..557765b3a653fd382665317e47e549327031e4e8 100644 --- a/app/scodoc/sco_formsemestre_edit.py +++ b/app/scodoc/sco_formsemestre_edit.py @@ -100,9 +100,13 @@ def formsemestre_editwithmodules(formsemestre_id: int): H = [] if not formsemestre.etat: H.append( - f"""<p>{scu.icontag( - "lock_img", border="0", title="Semestre verrouillé") - }<b>Ce semestre est verrouillé.</b></p>""" + f"""<p> + <span style="margin-right: 8px;"> + { + scu.icontag("lock_25", file_format="svg", border="0", + height="64px", title="Semestre verrouillé") + } + </span><b>Ce semestre est verrouillé.</b></p>""" ) else: r = do_formsemestre_createwithmodules(edit=True, formsemestre=formsemestre) diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py index e4a404d1821ac8552c8ea49121b5b7086d9a20a4..5184143e8c284cbdd83682ba64696656bd88a459 100755 --- a/app/scodoc/sco_formsemestre_status.py +++ b/app/scodoc/sco_formsemestre_status.py @@ -479,35 +479,6 @@ def formsemestre_status_menubar(formsemestre: FormSemestre | None) -> str: ) -# Element HTML decrivant un semestre (barre de menu et infos) -def formsemestre_page_title(formsemestre_id=None): - """Element HTML decrivant un semestre (barre de menu et infos) - Cherche dans la requete si un semestre est défini - via (formsemestre_id ou moduleimpl ou evaluation ou group) - """ - formsemestre_id = ( - formsemestre_id - if formsemestre_id is not None - else retreive_formsemestre_from_request() - ) - # - if not formsemestre_id: - return "" - try: - formsemestre_id = int(formsemestre_id) - except ValueError: - log(f"formsemestre_id: invalid type {formsemestre_id:r}") - return "" - formsemestre = FormSemestre.get_formsemestre(formsemestre_id) - - return render_template( - "formsemestre_page_title.j2", - formsemestre=formsemestre, - scu=scu, - sem_menu_bar=formsemestre_status_menubar(formsemestre), - ) - - # --------- # ancienne fonction ScoDoc7 à supprimer lorsqu'on utilisera les modèles # utilisé seulement par export Apogée diff --git a/app/scodoc/sco_utils.py b/app/scodoc/sco_utils.py index 27ece1354d8c23b6e8239c0399f5f822b61c3478..2fddd005a23c4538b0fbd39c33b2823d02ac1800 100644 --- a/app/scodoc/sco_utils.py +++ b/app/scodoc/sco_utils.py @@ -1549,11 +1549,17 @@ ICONSIZES = {} # name : (width, height) cache image sizes def icontag(name, file_format="png", no_size=False, **attrs): """tag HTML pour un icone. (dans les versions anterieures on utilisait Zope) - Les icones sont des fichiers PNG dans .../static/icons + Les icones sont des fichiers PNG ou SVG dans .../static/icons Si la taille (width et height) n'est pas spécifiée, lit l'image pour la mesurer (et cache le résultat). + Si no_size, n'indique pas width / height dans l'élément html généré. + Pour les images SVG, width ou height doivent être spécifiés. """ - if (not no_size) and (("width" not in attrs) or ("height" not in attrs)): + if ( + file_format != "svg" + and (not no_size) + and (("width" not in attrs) or ("height" not in attrs)) + ): if name not in ICONSIZES: img_file = os.path.join( Config.SCODOC_DIR, diff --git a/app/static/css/scodoc.css b/app/static/css/scodoc.css index c996a03b71a7210d45966fc49775a4aabb26806f..9da9a87fb0e3c2fd52122aedafa144b42738d5fe 100644 --- a/app/static/css/scodoc.css +++ b/app/static/css/scodoc.css @@ -1742,8 +1742,8 @@ formsemestre_page_title .eye img { formsemestre_page_title .lock img { display: inline-block; vertical-align: middle; - margin-bottom: 5px; - padding-right: 5px; + margin-left: 8px; + margin-right: 8px; } #formnotes .tf-explanation { diff --git a/app/static/icons/lock_25.svg b/app/static/icons/lock_25.svg new file mode 100644 index 0000000000000000000000000000000000000000..1fe0f5fc36244e5b6672066fec16cccc3a454a6a --- /dev/null +++ b/app/static/icons/lock_25.svg @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + version="1.1" + id="Layer_1" + x="0px" + y="0px" + viewBox="0 0 1054.286 1456.4419" + xml:space="preserve" + width="1054.286" + height="1456.4419" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs5"><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath5"><rect + style="opacity:0.44;fill:#800000;stroke-width:0.847964" + id="rect6" + width="1072.9879" + height="1481.1898" + x="248.80879" + y="264.35934" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath6"><rect + style="opacity:0.44;fill:#800000;stroke-width:0.847964" + id="rect7" + width="1072.9879" + height="1481.1898" + x="248.80879" + y="264.35934" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath7"><rect + style="opacity:0.44;fill:#800000;stroke-width:0.847964" + id="rect8" + width="1072.9879" + height="1481.1898" + x="248.80879" + y="264.35934" /></clipPath></defs> +<path + style="fill:#cfd8dd" + d="m 533.44444,997.90814 v -342.348 c 0,-142.441 116.537,-260.838 258.978,-260.647 142.446,0.191 257.39976,116.13869 258.27496,258.625 l 1.8054,293.92884 c 0.1976,32.1664 66.6107,-190.12414 56.4386,-159.60784 l -46.6516,139.95495 c -10.1721,30.51629 104.8956,63.33866 104.8956,31.17166 V 653.53814 c 0,-50.614 -9.926,-99.746 -29.502,-146.029 -18.896,-44.675 -45.935,-84.785 -80.366,-119.217 -34.432,-34.431 -74.54196,-61.471 -119.21696,-80.366 -46.283,-19.577 -95.415,-29.503 -146.029,-29.503 -50.615,0 -99.746,9.926 -146.03,29.503 -44.675,18.896 -84.786,45.935 -119.217,80.366 -34.43,34.43 -61.469,74.541 -80.366,119.217 -19.576,46.283 -29.503,95.414 -29.503,146.029 v 344.371 h 116.489 z" + id="path1" + clip-path="url(#clipPath7)" + transform="translate(-256,-278.42314)" /><path + style="fill:#f7e07f" + d="M 1270.286,1734.865 H 296 c -22.091,0 -40,-17.909 -40,-40 v -725.47 c 0,-22.091 17.909,-40 40,-40 h 974.286 c 22.091,0 40,17.909 40,40 v 725.47 c 0,22.092 -17.909,40 -40,40 z" + id="path2" + clip-path="url(#clipPath6)" + transform="translate(-256,-278.42314)" /><g + id="g3" + style="fill:#800000" + clip-path="url(#clipPath5)" + transform="translate(-256,-278.42314)"> + <path + style="fill:#800000" + d="m 832.62,1351.039 v 159.303 h -98.955 v -159.303 c -32.911,-17.655 -55.285,-52.398 -55.285,-92.36 0,-57.861 46.902,-104.762 104.762,-104.762 57.861,0 104.762,46.901 104.762,104.762 10e-4,39.962 -22.373,74.706 -55.284,92.36 z" + id="path3" /> + </g> +</svg> diff --git a/app/static/icons/lock_25_open.svg b/app/static/icons/lock_25_open.svg new file mode 100644 index 0000000000000000000000000000000000000000..a4ab5e9e909d5ed19e4870bc87cb2382b7836161 --- /dev/null +++ b/app/static/icons/lock_25_open.svg @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + version="1.1" + id="Layer_1" + x="0px" + y="0px" + viewBox="0 0 1535.999 1421.73" + xml:space="preserve" + width="1535.999" + height="1421.73" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs5" /> +<g + id="g5" + transform="translate(-256,-313.135)"> + <path + style="fill:#cfd8dd" + d="M 1158.258,1032.62 V 690.272 c 0,-142.441 116.537,-260.838 258.978,-260.647 142.446,0.191 258.275,116.136 258.275,258.625 v 76.077 c 0,32.167 26.077,58.244 58.244,58.244 v 0 c 32.167,0 58.244,-26.077 58.244,-58.244 V 688.25 c 0,-50.614 -9.926,-99.746 -29.502,-146.029 -18.896,-44.675 -45.935,-84.785 -80.366,-119.217 -34.432,-34.431 -74.542,-61.471 -119.217,-80.366 -46.283,-19.577 -95.415,-29.503 -146.029,-29.503 -50.615,0 -99.746,9.926 -146.03,29.503 -44.675,18.896 -84.786,45.935 -119.217,80.366 -34.43,34.43 -61.469,74.541 -80.366,119.217 -19.576,46.283 -29.503,95.414 -29.503,146.029 v 344.371 h 116.489 z" + id="path1" /> + <g + id="g4"> + <path + style="fill:#f7e07f" + d="M 1270.286,1734.865 H 296 c -22.091,0 -40,-17.909 -40,-40 v -725.47 c 0,-22.091 17.909,-40 40,-40 h 974.286 c 22.091,0 40,17.909 40,40 v 725.47 c 0,22.092 -17.909,40 -40,40 z" + id="path2" /> + <g + id="g3"> + <path + style="fill:#ebcd6d" + d="m 832.62,1351.039 v 159.303 h -98.955 v -159.303 c -32.911,-17.655 -55.285,-52.398 -55.285,-92.36 0,-57.861 46.902,-104.762 104.762,-104.762 57.861,0 104.762,46.901 104.762,104.762 10e-4,39.962 -22.373,74.706 -55.284,92.36 z" + id="path3" /> + </g> + </g> +</g> +</svg> diff --git a/app/templates/formsemestre_header.j2 b/app/templates/formsemestre_header.j2 index 1e5019a9158b8e4d30f96b4135d5e5dd90e9fb58..85d60358747359d84f220dbfa0a9e3b5602bf0aa 100644 --- a/app/templates/formsemestre_header.j2 +++ b/app/templates/formsemestre_header.j2 @@ -24,10 +24,14 @@ <span class="nbinscrits"><a class="discretelink" href="{{url_for('scolar.groups_lists', scodoc_dept=g.scodoc_dept, formsemestre_id=sco.formsemestre.id)}}">{{sco.formsemestre.inscriptions|length}} inscrits</a></span> <span class="lock"> - {% if not sco.formsemestre.etat %}<a href="{{url_for('notes.formsemestre_flip_lock', scodoc_dept=g.scodoc_dept, - formsemestre_id=sco.formsemestre.id)}}">{{scu.icontag("lock_img", border="0", title="Semestre - verrouillé")|safe}}</a> - {% endif %} + <a href="{{ + url_for('notes.formsemestre_flip_lock', scodoc_dept=g.scodoc_dept, + formsemestre_id=sco.formsemestre.id) + }}">{{ + (scu.icontag("lock_25_open", file_format="svg", border="0", height="20px", title="Semestre déverrouillé") + if sco.formsemestre.etat else scu.icontag("lock_25", file_format="svg", border="0", height="20px", title="Semestre verrouillé")) + |safe + }}</a> </span> <span class="eye"> {% if not scu.is_passerelle_disabled() %} diff --git a/app/templates/formsemestre_page_title.j2 b/app/templates/formsemestre_page_title.j2 deleted file mode 100644 index 075faf9b13c7f396145b6c5df3fb409cc0c0c50b..0000000000000000000000000000000000000000 --- a/app/templates/formsemestre_page_title.j2 +++ /dev/null @@ -1,44 +0,0 @@ -{# -*- mode: jinja-html -*- #} -{# Element HTML decrivant un semestre (barre de menu et infos) #} -{# was formsemestre_page_title #} - -<div class="formsemestre_page_title noprint"> - <div class="infos"> - <span class="semtitle"><a class="stdlink" title="{{formsemestre.session_id()}}" href="{{url_for('notes.formsemestre_status', - scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre.id)}}">{{formsemestre.titre}}</a> - {%- if formsemestre.semestre_id != -1 -%} - <a title="{{formsemestre.etapes_apo_str() - }}">, {{ - formsemestre.formation.get_cursus().SESSION_NAME}} - {{formsemestre.semestre_id}}</a> - {%- endif -%} - {%- if formsemestre.modalite %} en {{formsemestre.modalite}} - {%- endif %}</span><span class="dates"><a title="du {{formsemestre.date_debut.strftime('%d/%m/%Y')}} - au {{formsemestre.date_fin.strftime('%d/%m/%Y')}} ">{{formsemestre.mois_debut()}} - - {{formsemestre.mois_fin()}}</a></span><span class="resp"><a - title="{{formsemestre.responsables_str(abbrev_prenom=False)}}">{{formsemestre.responsables_str()}}</a></span><span - class="nbinscrits"><a class="discretelink" href="{{url_for('scolar.groups_lists', - scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre.id) - }}">{{formsemestre.etuds_inscriptions|length}} inscrits</a></span><span class="lock"> - {%-if not formsemestre.etat -%} - <a href="{{ url_for( 'notes.formsemestre_flip_lock', - scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre.id )}}">{{ - scu.icontag("lock_img", border="0", title="Semestre verrouillé")|safe - }}</a> - {%- endif -%} - </span> - {%-if not scu.is_passerelle_disabled()-%} - <span class="eye"><a href="{{ - url_for('notes.formsemestre_change_publication_bul', - scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre.id ) - }}">{%- - if formsemestre.bul_hide_xml -%} - {{scu.ICON_HIDDEN|safe}} - {%- else -%} - {{scu.ICON_PUBLISHED|safe}} - {%- endif -%} - </a></span> - {%- endif -%} - </div> - {{sem_menu_bar|safe}} -</div> \ No newline at end of file diff --git a/app/templates/jury/ue_list_etud_validations.j2 b/app/templates/jury/ue_list_etud_validations.j2 index c7557ffaa5566931f7fd52e2910fc3db73cd84bb..2a003f135b901f05dd8439380b55305d6a15c879 100644 --- a/app/templates/jury/ue_list_etud_validations.j2 +++ b/app/templates/jury/ue_list_etud_validations.j2 @@ -25,7 +25,8 @@ </button> </form> {% else %} - {{ scu.icontag("lock_img", border="0", title="Semestre verrouillé")|safe }} + {{ scu.icontag("lock_25", file_format="svg", border="0", + height="20px", title="Semestre verrouillé")|safe }} {% endif %} {% endif %} </summary>