Unverified Commit a4e69d62 authored by Enrico Zini's avatar Enrico Zini
Browse files

Added prototype certificate generation

parent 00f2755b
Pipeline #370373 passed with stage
in 5 minutes and 27 seconds
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 10.0, SVG Export Plug-In . SVG Version: 3.0.0 Build 77) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg
xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" i:viewOrigin="252 516" i:rulerOrigin="0 0" i:pageBounds="0 792 612 0"
xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
width="107.662" height="240.721" viewBox="0 0 107.662 240.721" overflow="visible" enable-background="new 0 0 107.662 240.721"
xml:space="preserve">
<metadata>
<variableSets xmlns="&ns_vars;">
<variableSet varSetName="binding1" locked="none">
<variables></variables>
<v:sampleDataSets xmlns="&ns_custom;" xmlns:v="&ns_vars;"></v:sampleDataSets>
</variableSet>
</variableSets>
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds y="275.279" x="252" width="107.662" height="240.721" bottomLeftOrigin="true"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_1" i:layer="yes" i:dimmedPercent="50" i:rgbTrio="#4F008000FFFF">
<g>
<path i:knockout="Off" d="M105.252,168.125c0-9.17-12.022-17.084-29.41-20.777c-9.876-4.377-17.177-14.916-17.177-39.829
c0-23.097,6.273-20.06,15.063-27.529h-3.028c-3.118,3.334-9.396,5.616-16.649,5.616s-13.532-2.282-16.651-5.616h-3.962
c8.786,7.469,15.059,4.432,15.059,27.529c0,25.182-7.459,35.682-17.498,39.973c-17.03,3.752-28.754,11.578-28.754,20.633
c0,7.82,8.753,14.725,22.116,18.883c-3.694,1.178-5.849,2.594-5.849,4.113c0,4.121,15.775,7.459,35.238,7.459
c19.461,0,35.239-3.338,35.239-7.459c0-1.52-2.159-2.936-5.852-4.113C96.499,182.85,105.252,175.945,105.252,168.125"/>
<path i:knockout="Off" d="M64.783,80.298c0,1.029-4.852,1.863-10.84,1.863c-5.991,0-10.841-0.834-10.841-1.863
c0-1.031,4.85-1.866,10.841-1.866C59.932,78.432,64.783,79.267,64.783,80.298"/>
<path i:knockout="Off" fill="#A80030" d="M57.932,72.433c-11.086-3.987-17.67-8.882-24.891-19.806
c-1.771-3.01-5.028-9.729-4.906-18.496C27.847,25.39,32.262,15.32,40.506,9.945c7.961-5.673,18.232-5.758,24.343-3.518
c6.305,2.34,8.86,6.239,8.935,6.053c-0.193,0.05,3.377,3.052,4.969,9.588c1.771,6.282-0.029,16.698-8.696,20.962
c-3.985,2.136-9.162,2.522-13.221,0.995c-4.057-1.638-7.005-5.232-7.984-8.988C46.709,26.746,53,22.15,55.775,21.679
c11.291-3.764,17.012,13.906,3.805,15.408c6.019,2.009,12.227-4.167,11.045-10.46c-0.237-6.294-7.857-12.541-16.261-9.981
c-2.194,0.606-5.518,2.147-8.12,5.61c-2.666,3.445-3.876,8.841-2.49,14.088c1.353,5.273,5.463,10.323,11.187,12.593
c5.785,2.134,12.224,1.524,17.541-1.244c11.354-5.616,13.628-19.301,11.37-26.83c-1.988-8.092-6.386-11.797-6.16-11.853
c-0.081,0.218-3.244-4.588-11.057-7.506c-7.643-2.788-19.555-2.59-29.094,4.099c-9.763,6.261-15.053,18.563-14.669,28.479
c-0.131,10.067,3.62,17.773,5.669,21.2C36.795,67.87,46.254,71.806,57.932,72.433"/>
<path i:knockout="Off" d="M13.282,222.309c-0.045,0.045-0.045,7.42-0.138,9.344c-0.09,1.559-0.228,4.9-3.526,4.9
c-3.39,0-4.215-3.893-4.488-5.588c-0.323-1.877-0.323-3.436-0.323-4.123c0-2.197,0.141-8.334,5.315-8.334
c1.558,0,2.427,0.459,3.115,0.824L13.282,222.309z M0,227.713c0,12.918,6.87,12.918,7.879,12.918c2.839,0,4.67-1.561,5.447-4.262
l0.093,4.08c0.872-0.049,1.742-0.141,3.161-0.141c0.503,0,0.915,0,1.282,0.045c0.368,0,0.733,0.047,1.145,0.096
c-0.734-1.469-1.281-4.768-1.281-11.912c0-6.963,0-18.732,0.593-22.303c-1.648,0.777-3.066,1.281-6.183,1.555
c1.239,1.33,1.239,2.016,1.239,8.061c-0.871-0.273-1.97-0.594-3.847-0.594C1.327,215.256,0,222.4,0,227.713"/>
<path i:knockout="Off" d="M24.84,225.379c0.044-3.805,0.822-7.193,4.074-7.193c3.574,0,3.847,3.941,3.757,7.193H24.84z
M37.204,225.834c0-5.357-1.052-10.625-7.832-10.625c-9.342,0-9.342,10.354-9.342,12.551c0,9.297,4.167,12.961,11.175,12.961
c3.113,0,4.625-0.457,5.45-0.686c-0.045-1.65,0.184-2.703,0.459-4.123c-0.962,0.596-2.199,1.373-4.947,1.373
c-7.147,0-7.236-6.504-7.236-8.748h12.183L37.204,225.834"/>
<path i:knockout="Off" d="M52.751,227.805c0,4.26-0.777,9.984-6.092,9.984c-0.734,0-1.649-0.137-2.245-0.273
c-0.091-1.65-0.091-4.49-0.091-7.787c0-3.939,0.412-6,0.736-7.008c0.959-3.25,3.112-3.297,3.523-3.297
C52.063,219.424,52.751,224.232,52.751,227.805z M39.607,232.799c0,3.387,0,5.313-0.552,6.777c1.88,0.732,4.215,1.145,7.01,1.145
c1.786,0,6.959,0,9.753-5.725c1.329-2.656,1.786-6.229,1.786-8.932c0-1.648-0.184-5.268-1.511-7.557
c-1.281-2.152-3.343-3.252-5.541-3.252c-4.398,0-5.68,3.662-6.365,5.541c0-2.334,0.044-10.488,0.41-14.654
c-2.977,1.373-4.81,1.602-6.776,1.785c1.785,0.732,1.785,3.756,1.785,13.604V232.799"/>
<path i:knockout="Off" d="M65.763,240.449c-0.915-0.141-1.559-0.23-2.887-0.23c-1.466,0-2.472,0.09-3.527,0.23
c0.459-0.873,0.644-1.285,0.782-4.264c0.182-4.074,0.226-14.977-0.093-17.268c-0.23-1.738-0.643-2.012-1.283-2.473
c3.756-0.365,4.809-0.641,6.549-1.465c-0.365,2.016-0.412,3.023-0.412,6.094C64.801,236.873,64.754,238.568,65.763,240.449"/>
<path i:knockout="Off" d="M80.846,227.486c-0.091,2.883-0.14,4.898-0.915,6.504c-0.962,2.059-2.564,2.656-3.756,2.656
c-2.749,0-3.347-2.291-3.347-4.535c0-4.307,3.851-4.625,5.589-4.625H80.846z M68.251,233.117c0,2.887,0.868,5.771,3.435,7.008
c1.143,0.506,2.289,0.506,2.655,0.506c4.216,0,5.634-3.115,6.505-5.039c-0.046,2.014,0,3.25,0.136,4.857
c0.827-0.049,1.648-0.141,3.024-0.141c0.779,0,1.512,0.092,2.289,0.141c-0.502-0.781-0.777-1.24-0.917-3.027
c-0.09-1.74-0.09-3.48-0.09-5.908l0.046-9.344c0-3.479-0.916-6.914-7.788-6.914c-4.532,0-7.189,1.375-8.516,2.061
c0.547,1.008,1.007,1.879,1.418,3.846c1.786-1.555,4.124-2.379,6.501-2.379c3.806,0,3.806,2.518,3.806,6.092
c-0.87-0.049-1.605-0.139-2.842-0.139C72.095,224.736,68.251,226.98,68.251,233.117"/>
<path i:knockout="Off" d="M106.974,235.912c0.047,1.557,0.047,3.205,0.688,4.537c-1.009-0.096-1.604-0.23-3.481-0.23
c-1.1,0-1.696,0.09-2.564,0.23c0.182-0.6,0.274-0.828,0.365-1.607c0.138-1.053,0.231-4.578,0.231-5.816v-4.947
c0-2.15,0-5.264-0.14-6.365c-0.092-0.777-0.321-2.885-2.978-2.885c-2.609,0-3.479,1.924-3.8,3.48
c-0.366,1.604-0.366,3.344-0.366,10.121c0.047,5.865,0.047,6.412,0.503,8.02c-0.778-0.096-1.741-0.186-3.113-0.186
c-1.099,0-1.833,0.045-2.749,0.186c0.322-0.736,0.504-1.104,0.597-3.666c0.091-2.52,0.273-14.887-0.138-17.816
c-0.229-1.787-0.688-2.199-1.191-2.658c3.71-0.184,4.899-0.777,6.045-1.375v4.857c0.55-1.422,1.695-4.582,6.274-4.582
c5.728,0,5.77,4.168,5.816,6.918V235.912"/>
<path i:knockout="Off" fill="#A80030" d="M66.148,208.498l-3.789,3.791l-3.796-3.791l3.796-3.791L66.148,208.498"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 10.0, SVG Export Plug-In . SVG Version: 3.0.0 Build 77) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg
xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" i:viewOrigin="262 450" i:rulerOrigin="0 0" i:pageBounds="0 792 612 0"
xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
width="87.041" height="108.445" viewBox="0 0 87.041 108.445" overflow="visible" enable-background="new 0 0 87.041 108.445"
xml:space="preserve">
<metadata>
<variableSets xmlns="&ns_vars;">
<variableSet varSetName="binding1" locked="none">
<variables></variables>
<v:sampleDataSets xmlns="&ns_custom;" xmlns:v="&ns_vars;"></v:sampleDataSets>
</variableSet>
</variableSets>
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds y="341.555" x="262" width="87.041" height="108.445" bottomLeftOrigin="true"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_1" i:layer="yes" i:dimmedPercent="50" i:rgbTrio="#4F008000FFFF">
<g>
<path i:knockout="Off" fill="#A80030" d="M51.986,57.297c-1.797,0.025,0.34,0.926,2.686,1.287
c0.648-0.506,1.236-1.018,1.76-1.516C54.971,57.426,53.484,57.434,51.986,57.297"/>
<path i:knockout="Off" fill="#A80030" d="M61.631,54.893c1.07-1.477,1.85-3.094,2.125-4.766c-0.24,1.192-0.887,2.221-1.496,3.307
c-3.359,2.115-0.316-1.256-0.002-2.537C58.646,55.443,61.762,53.623,61.631,54.893"/>
<path i:knockout="Off" fill="#A80030" d="M65.191,45.629c0.217-3.236-0.637-2.213-0.924-0.978
C64.602,44.825,64.867,46.932,65.191,45.629"/>
<path i:knockout="Off" fill="#A80030" d="M45.172,1.399c0.959,0.172,2.072,0.304,1.916,0.533
C48.137,1.702,48.375,1.49,45.172,1.399"/>
<path i:knockout="Off" fill="#A80030" d="M47.088,1.932l-0.678,0.14l0.631-0.056L47.088,1.932"/>
<path i:knockout="Off" fill="#A80030" d="M76.992,46.856c0.107,2.906-0.85,4.316-1.713,6.812l-1.553,0.776
c-1.271,2.468,0.123,1.567-0.787,3.53c-1.984,1.764-6.021,5.52-7.313,5.863c-0.943-0.021,0.639-1.113,0.846-1.541
c-2.656,1.824-2.131,2.738-6.193,3.846l-0.119-0.264c-10.018,4.713-23.934-4.627-23.751-17.371
c-0.107,0.809-0.304,0.607-0.526,0.934c-0.517-6.557,3.028-13.143,9.007-15.832c5.848-2.895,12.704-1.707,16.893,2.197
c-2.301-3.014-6.881-6.209-12.309-5.91c-5.317,0.084-10.291,3.463-11.951,7.131c-2.724,1.715-3.04,6.611-4.227,7.507
C31.699,56.271,36.3,61.342,44.083,67.307c1.225,0.826,0.345,0.951,0.511,1.58c-2.586-1.211-4.954-3.039-6.901-5.277
c1.033,1.512,2.148,2.982,3.589,4.137c-2.438-0.826-5.695-5.908-6.646-6.115c4.203,7.525,17.052,13.197,23.78,10.383
c-3.113,0.115-7.068,0.064-10.566-1.229c-1.469-0.756-3.467-2.322-3.11-2.615c9.182,3.43,18.667,2.598,26.612-3.771
c2.021-1.574,4.229-4.252,4.867-4.289c-0.961,1.445,0.164,0.695-0.574,1.971c2.014-3.248-0.875-1.322,2.082-5.609l1.092,1.504
c-0.406-2.696,3.348-5.97,2.967-10.234c0.861-1.304,0.961,1.403,0.047,4.403c1.268-3.328,0.334-3.863,0.66-6.609
c0.352,0.923,0.814,1.904,1.051,2.878c-0.826-3.216,0.848-5.416,1.262-7.285c-0.408-0.181-1.275,1.422-1.473-2.377
c0.029-1.65,0.459-0.865,0.625-1.271c-0.324-0.186-1.174-1.451-1.691-3.877c0.375-0.57,1.002,1.478,1.512,1.562
c-0.328-1.929-0.893-3.4-0.916-4.88c-1.49-3.114-0.527,0.415-1.736-1.337c-1.586-4.947,1.316-1.148,1.512-3.396
c2.404,3.483,3.775,8.881,4.404,11.117c-0.48-2.726-1.256-5.367-2.203-7.922c0.73,0.307-1.176-5.609,0.949-1.691
c-2.27-8.352-9.715-16.156-16.564-19.818c0.838,0.767,1.896,1.73,1.516,1.881c-3.406-2.028-2.807-2.186-3.295-3.043
c-2.775-1.129-2.957,0.091-4.795,0.002c-5.23-2.774-6.238-2.479-11.051-4.217l0.219,1.023c-3.465-1.154-4.037,0.438-7.782,0.004
c-0.228-0.178,1.2-0.644,2.375-0.815c-3.35,0.442-3.193-0.66-6.471,0.122c0.808-0.567,1.662-0.942,2.524-1.424
c-2.732,0.166-6.522,1.59-5.352,0.295c-4.456,1.988-12.37,4.779-16.811,8.943l-0.14-0.933c-2.035,2.443-8.874,7.296-9.419,10.46
l-0.544,0.127c-1.059,1.793-1.744,3.825-2.584,5.67c-1.385,2.36-2.03,0.908-1.833,1.278c-2.724,5.523-4.077,10.164-5.246,13.97
c0.833,1.245,0.02,7.495,0.335,12.497c-1.368,24.704,17.338,48.69,37.785,54.228c2.997,1.072,7.454,1.031,11.245,1.141
c-4.473-1.279-5.051-0.678-9.408-2.197c-3.143-1.48-3.832-3.17-6.058-5.102l0.881,1.557c-4.366-1.545-2.539-1.912-6.091-3.037
l0.941-1.229c-1.415-0.107-3.748-2.385-4.386-3.646l-1.548,0.061c-1.86-2.295-2.851-3.949-2.779-5.23l-0.5,0.891
c-0.567-0.973-6.843-8.607-3.587-6.83c-0.605-0.553-1.409-0.9-2.281-2.484l0.663-0.758c-1.567-2.016-2.884-4.6-2.784-5.461
c0.836,1.129,1.416,1.34,1.99,1.533c-3.957-9.818-4.179-0.541-7.176-9.994l0.634-0.051c-0.486-0.732-0.781-1.527-1.172-2.307
l0.276-2.75C4.667,58.121,6.719,47.409,7.13,41.534c0.285-2.389,2.378-4.932,3.97-8.92l-0.97-0.167
c1.854-3.234,10.586-12.988,14.63-12.486c1.959-2.461-0.389-0.009-0.772-0.629c4.303-4.453,5.656-3.146,8.56-3.947
c3.132-1.859-2.688,0.725-1.203-0.709c5.414-1.383,3.837-3.144,10.9-3.846c0.745,0.424-1.729,0.655-2.35,1.205
c4.511-2.207,14.275-1.705,20.617,1.225c7.359,3.439,15.627,13.605,15.953,23.17l0.371,0.1
c-0.188,3.802,0.582,8.199-0.752,12.238L76.992,46.856"/>
<path i:knockout="Off" fill="#A80030" d="M32.372,59.764l-0.252,1.26c1.181,1.604,2.118,3.342,3.626,4.596
C34.661,63.502,33.855,62.627,32.372,59.764"/>
<path i:knockout="Off" fill="#A80030" d="M35.164,59.654c-0.625-0.691-0.995-1.523-1.409-2.352
c0.396,1.457,1.207,2.709,1.962,3.982L35.164,59.654"/>
<path i:knockout="Off" fill="#A80030" d="M84.568,48.916l-0.264,0.662c-0.484,3.438-1.529,6.84-3.131,9.994
C82.943,56.244,84.088,52.604,84.568,48.916"/>
<path i:knockout="Off" fill="#A80030" d="M45.527,0.537C46.742,0.092,48.514,0.293,49.803,0c-1.68,0.141-3.352,0.225-5.003,0.438
L45.527,0.537"/>
<path i:knockout="Off" fill="#A80030" d="M2.872,23.219c0.28,2.592-1.95,3.598,0.494,1.889
C4.676,22.157,2.854,24.293,2.872,23.219"/>
<path i:knockout="Off" fill="#A80030" d="M0,35.215c0.563-1.728,0.665-2.766,0.88-3.766C-0.676,33.438,0.164,33.862,0,35.215"/>
</g>
</g>
</svg>
......@@ -60,7 +60,7 @@
{% endblock %}
</div>
<footer id="main-footer" class="card mt-3">
<footer id="main-footer" class="card mt-3 d-print-none">
{% block footer %}
{% endblock %}
</footer>
......
{% extends "nm2-base.html" %}
{% load i18n %}
{% load static %}
{% load nm %}
{% block head %}
{{block.super}}
<style type="text/css">
body {
height: 100vh;
display: flex;
flex-direction: column;
}
body:before {
content: "";
background: no-repeat url('{% static "debian/img/openlogo-nd.svg" %}');
background-size: contain;
background-position: center;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
opacity: 0.2;
}
#main-content {
flex: 2;
overflow: hidden;
display: flex;
flex-direction: column;
}
.textblock {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-family: serif;
}
#cert-head {
flex: 2;
display: flex;
flex-direction: row;
}
#cert-logo {
flex-grow: 0;
width: 20%;
}
#cert-title {
flex-grow: 3;
margin-right: 20%;
height: 100%;
font-size: 60px;
text-align: center;
}
#cert-name {
flex-grow: 2;
font-size: 42px;
text-align: center;
font-weight: bold;
}
#cert-text {
flex-grow: 2;
text-align: center;
}
#cert-status {
font-size: 24px;
font-weight: bold;
}
#cert-techinfo {
flex-grow: 2;
text-align: left;
margin-left: auto;
margin-right: auto;
align-items: start;
}
#cert-techinfo p {
font-family: monospace;
}
#cert-debian-url {
flex-grow: 2;
text-align: center;
font-family: monospace;
font-size: 24px;
font-weight: bold;
}
#cert-signature {
display: grid;
flex-grow: 2;
margin-left: auto;
text-align: center;
}
#cert-signature-text {
grid-column: 1;
grid-row: 1;
}
p {
margin: 0;
}
#cert-signature-scribble {
grid-column: 1;
grid-row: 1;
background: no-repeat url('{% static "debian/img/openlogo-nd.svg" %}');
background-size: contain;
background-position: center;
opacity: 0.8;
height: 100%;
width: 100%;
}
#cert-date {
flex-grow: 2;
text-align: center;
}
</style>
{% endblock %}
{% block content %}
<div id="cert-head">
<div id="cert-logo">
<img src="{% static "debian/img/officiallogo.svg" %}"></img>
</div>
<div id="cert-title" class="textblock">
<p id="cert-title-text">Certificate</span>
</div>
</div>
<div id="cert-name" class="textblock">
<p id="cert-name-text">{{person.fullname}}</span>
</div>
<div id="cert-text" class="textblock">
<p id="cert-text-lead">
Has passed through the <b>New Maintainer Process</b>,<br/>
has been approved by <b>Debian Account Managers</b>,<br/>
and therefore has become a
</p>
<p id="cert-status">Debian Developer</p>
<p id="cert-status-detail">
with voting rights{% if upload_rights %} and upload access to the Debian archive{% endif %}
</p>
</div>
<div id="cert-techinfo" class="textblock">
<p>Login: {{person.get_ldap_uid}}</p>
<p>Email address: {{person.get_ldap_uid}}@debian.org</p>
<p>PGP/GPG fingerprint: {{person.fpr|fingerprint}}</p>
<p>Attainment date: {{person.status_changed}}</p>
</div>
<div id="cert-debian-url" class="textblock">
{{request.build_absolute_uri}}
</div>
<div id="cert-signature" class="textblock">
<div id="cert-signature-text">
<p id="cert-sig-name">Jonathan Carter</p>
<p>Debian Project Leader</p>
</div>
<div id="cert-signature-scribble">
</div>
</div>
<div id="cert-date" class="textblock">
Date of Certificate issuance: {{person.status_changed}}
</div>
{% endblock %}
......@@ -12,6 +12,7 @@ urlpatterns = [
path('<key>/edit_email/', views.EditEmail.as_view(), name="edit_email"),
# AM preferences editor
path('<key>/amprofile/', views.AMProfile.as_view(), name="amprofile"),
path('<key>/certificate/', views.Certificate.as_view(), name="certificate"),
path('identities/', views.Identities.as_view(), name='identities_self'),
path('identities/<key>/', views.Identities.as_view(), name='identities'),
]
......@@ -241,3 +241,22 @@ class Identities(VisitPersonMixin, TemplateView):
ctx = super().get_context_data(**kw)
ctx["identities"] = self.person.identities.all()
return ctx
class Certificate(VisitPersonMixin, TemplateView):
template_name = "person/certificate.html"
def check_permissions(self):
super().check_permissions()
if not self.person.is_dd:
raise PermissionDenied
def get_context_data(self, **kw):
ctx = super().get_context_data(**kw)
ctx.update(
upload_rights=self.person.status == const.STATUS_DD_U,
)
return ctx
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment