Commit de390e18 authored by Fernando Ribeiro's avatar Fernando Ribeiro
Browse files

Merge branch 'develop' into 'master'

Develop into master

See merge request !41
parents b457d53d 39423898
......@@ -328,10 +328,7 @@ class SimpleLessonSerializer(LessonSerializer):
if request and hasattr(request, "user"):
user = request.user
if user and user.is_superuser:
lessons = list(course.lessons.all())
else:
lessons = list(course.public_lessons)
lessons = list(course.public_lessons)
if len(lessons) > 0 and object != lessons[-1]:
index = lessons.index(object)
......
......@@ -325,19 +325,19 @@ class EmitReceiptView(RedirectView):
return reverse_lazy('courses_legacy:courses')
if course_student and course_student.can_emmit_receipt():
recipt = CourseCertification()
recipt.course_student = course_student
recipt.course_workload = course_student.course.workload
recipt.is_valid = True
recipt.type = 'recipt'
receipt = CourseCertification()
receipt.course_student = course_student
receipt.course_workload = course_student.course.workload
receipt.is_valid = True
receipt.document_type = CertificateTemplate.TYPES[0][0]
import hashlib
import time
hash = hashlib.sha1()
hash.update(str(time.time()))
recipt.link_hash = hash.hexdigest()[:10]
recipt.save()
return reverse_lazy('courses_legacy:certificate', args=[recipt.link_hash])
receipt.link_hash = hash.hexdigest()[:10]
receipt.save()
return reverse_lazy('courses_legacy:certificate', args=[receipt.link_hash])
else:
return reverse_lazy('courses_legacy:course_intro', args=[course_student.course.slug])
......
......@@ -15,10 +15,7 @@
module.controller('CertificateCtrl', ['$scope', 'ClassIdGetter', 'Course', 'CourseCertification', 'CertificateTemplate',
function($scope, ClassIdGetter, Course, CourseCertification, CertificateTemplate){
console.log(ClassIdGetter.certificateData());
$scope.certificate = CourseCertification.get({'link_hash' : ClassIdGetter.certificateData()}, function(certificate) {
// $scope.certificate = data;
$scope.course = Course.get({'id' : certificate.course});
$scope.cert_template = CertificateTemplate.get({'course' : certificate.course });
......@@ -46,9 +43,9 @@
CertificateData.get({'id' : $scope.certificate_id, }, function(data) {
$scope.ct = data;
$scope.page_title += data.type == 'receipt' ? ' de Recibo' :
$scope.page_title += data.document_type == 'receipt' ? ' de Recibo' :
' de Certificado';
$scope.message = $sce.trustAsHtml(data.type == 'receipt' ?
$scope.message = $sce.trustAsHtml(data.document_type == 'receipt' ?
'Edite as opções do atestado que será emitido ' +
'automaticamente após a conclusão do curso. <br> Este ' +
'atestado <strong>não possui</strong> a mesma validade ' +
......@@ -56,7 +53,7 @@
'Edite os elementos numerados de <strong>1 a 7</strong> ' +
'com as informações que serão exibidas no certificado ' +
'final do curso.');
$scope.document_title = data.type == 'receipt' ? "Declaração" :
$scope.document_title = data.document_type == 'receipt' ? "Declaração" :
"Certificado";
}, function(error){
$scope.alert.error(error.data)
......@@ -97,32 +94,35 @@
'$scope', '$uibModal', '$window', 'CertificateData', 'Course',
function ($scope, $uibModal, $window, CertificateData, Course) {
$scope.certificateList = [];
$scope.ordering = 'certificate_template.course';
$scope.ordering = 'course';
$scope.reverse = false;
$scope.filters = {
type: 'all',
document_type: 'all',
course: false,
contract : false,
textsearch: '',
check : function(c_data){
if ($scope.filters.contract && c_data.contract == null) {
return false;
}
var f = $scope.filters;
var search = f.textsearch.toLowerCase();
var target = c_data.certificate_template.course_name.toLowerCase();
f.is_clear = f.type == 'all' && !f.course && !f.contract && f.textsearch == ''
var target = c_data.course_name.toLowerCase();
f.is_clear = f.document_type == 'all' && !f.course && !f.contract && f.textsearch == ''
return (
f.type == 'all' || c_data.type == f.type
f.document_type == 'all' || c_data.document_type == f.document_type
) && (
!search || target.match(search)
) && (
!f.contract || c_data.contract.id == f.contract
) && (
!f.course || c_data.certificate_template.course == f.course
!f.course || c_data.course == f.course
);
},
is_clear: true,
clear: function(){
var f = $scope.filters;
f.type = 'all';
f.document_type = 'all';
f.course = f.contract = false;
f.textsearch = '';
f.is_clear = true;
......@@ -155,35 +155,36 @@
$scope.courses = courses;
$scope.form_filters = {
type: 'all',
course: false,
contract : false,
check : function(c_data){
var f = $scope.form_filters;
var target = c_data.certificate_template.course_name.toLowerCase();
if (!(f.course && f.contract)) {
contract : null,
check: function (item) {
if (!$scope.form_filters.course) {
return false;
} else if (item.contract == null) {
if (!$scope.form_filters.contract && item.course == $scope.form_filters.course) {
return true;
} else {
return false;
}
} else {
return item.contract.id == $scope.form_filters.contract &&
item.course == $scope.form_filters.course
}
return (
f.type == 'all' || c_data.type == f.type
) && (
!f.contract || c_data.contract.id == f.contract
) && (
!f.course || c_data.certificate_template.course == f.course
);
},
};
$scope.generate_templates = function () {
var c_data = new CertificateData({
contract: $scope.form_filters.contract,
course: $scope.form_filters.course,
generate: true
});
c_data.$save((data) => {
$uibModalInstance.close(data);
}, (error) => {
$uibModalInstance.close(error);
['receipt', 'certificate'].forEach(document_type => {
var c_data = new CertificateData({
workspace: $scope.form_filters.contract,
course: $scope.form_filters.course,
document_type: document_type,
});
c_data.$save((data) => {
$uibModalInstance.close(data);
}, (error) => {
$uibModalInstance.close(error);
});
});
};
};
......@@ -195,10 +196,12 @@
var contracts = list.map(function(item){
return item.contract;
}).reduce(function(prev, curr, i, arr){
var index = prev.findIndex(function(item){
return item.id == curr.id
});
index < 0 ? prev.push(curr) : prev;
if (curr !== null) {
var index = prev.findIndex(function(item){
return item.id == curr.id
});
index < 0 ? prev.push(curr) : prev;
}
return prev;
}, []);
......
......@@ -125,7 +125,7 @@
$scope.remove_item = function(index){
// removing from 'screen' list
var student_id = $scope.classe.students_details[index].user.id;
var student_id = $scope.classe.students_details[index].id;
$scope.classe.students_details.splice(index, 1);
// remove from real list
......@@ -152,10 +152,10 @@
var cc_id = student.certificate.link_hash;
var user_id = student.user.id;
var cc = CourseCertification.get({link_hash: cc_id, user: user_id}, function(classe) {
if(cc.type == 'receipt') {
cc.type = 'certificate';
if(cc.document_type == 'receipt') {
cc.document_type = 'certificate';
} else {
cc.type = 'receipt';
cc.document_type = 'receipt';
}
cc.$update({link_hash: cc_id, user: user_id});
});
......
......@@ -47,7 +47,7 @@
if(!items) return;
var filtered = [];
for(var i = 0; i < items.length; i++){
if(items[i].certificate != null && items[i].certificate.type == 'certificate') {
if(items[i].certificate != null && items[i].certificate.document_type == 'certificate') {
filtered.push(items[i]);
}
}
......@@ -60,7 +60,7 @@
if(!items) return;
var filtered = [];
for(var i = 0; i < items.length; i++){
if(items[i].certificate != null && items[i].certificate.type == 'receipt') {
if(items[i].certificate != null && items[i].certificate.document_type == 'receipt') {
filtered.push(items[i]);
}
}
......
<div class="container-fluid">
<div id="certificate-container" class="certificate-container">
<div class="certificate-logos">
<img src="{{ cert_template.certificate_template.base_logo_url }}" alt="" class="avante">
<img src="{{ cert_template.base_logo_url }}" alt="" class="avante">
<img src="{{ cert_template.site_logo_url }}" alt="{{ cert_template.site_logo_url }}" class="paralapraca">
<div class="certificate-logo">
<img alt="" src="{{ cert_template.certificate_template.cert_logo_url }}">
<img alt="" src="{{ cert_template.cert_logo_url }}">
</div>
</div>
<div class="certificate-title">Certificado</div>
......@@ -21,13 +21,13 @@
<p><b>URL de validação:</b> <a href="{% url 'courses_legacy:certificate' object.link_hash %}">ava.paralapraca.org.br{% url 'courses_legacy:certificate' object.link_hash %}</a></p>
</div>
<div class="coordinator-section">
{% if cert_template.certificate_template.signature_url %}
{% if cert_template.signature_url %}
<div class="certificate-signature">
<img alt="Signature" src="{{ cert_template.certificate_template.signature_url }}">
<img alt="Signature" src="{{ cert_template.signature_url }}">
</div>
{% endif %}
<p class="name-coordinator">{{ cert_template.certificate_template.name }}</p>
<p class="role-coordinator">{{ cert_template.certificate_template.role }}</p>
<p class="name-coordinator">{{ cert_template.name }}</p>
<p class="role-coordinator">{{ cert_template.role }}</p>
</div>
</footer>
</div>
......
......@@ -2,12 +2,12 @@
<div class="container-fluid">
<div class="certificate-container receipt">
<div class="certificate-logos">
<img src="{{ cert_template.certificate_template.base_logo_url }}" alt="" class="avante">
<img src="{{ cert_template.base_logo_url }}" alt="" class="avante">
<img src="{{ cert_template.site_logo_url }}" alt="{{ cert_template.site_logo_url }}" class="paralapraca">
<div class="certificate-logo">
<img alt=""
class="img-responsive"
src="{{ cert_template.certificate_template.cert_logo_url }}">
src="{{ cert_template.cert_logo_url }}">
</div>
</div>
<div class="certificate-title">Declaração</div>
......@@ -22,13 +22,13 @@
<p><b>URL de validação:</b> <a href="{% url 'courses_legacy:certificate' object.link_hash %}">ava.paralapraca.org.br{% url 'courses_legacy:certificate' object.link_hash %}</a></p>
</div>
<div class="coordinator-section">
{% if cert_template.certificate_template.signature_url %}
{% if cert_template.signature_url %}
<div class="certificate-signature">
<img alt="Signature" src="{{ cert_template.certificate_template.signature_url }}">
<img alt="Signature" src="{{ cert_template.signature_url }}">
</div>
{% endif %}
<p class="name-coordinator">{{ cert_template.certificate_template.name }}</p>
<p class="role-coordinator">{{ cert_template.certificate_template.role }}</p>
<p class="name-coordinator">{{ cert_template.name }}</p>
<p class="role-coordinator">{{ cert_template.role }}</p>
</div>
</footer>
</div>
......
......@@ -27,7 +27,7 @@
<script type="text/javascript" src="{% static 'js/directives/file.js' %}" charset="utf-8"></script>
<script type="text/javascript" src="{% static 'js/directives/previewImage.js' %}" charset="utf-8"></script>
<script type="text/javascript" src="{% static 'js/factories/timtec-models.js' %}" charset="utf-8"></script>
{% endcompress %}
{% endblock %}
......@@ -52,31 +52,33 @@ ng-app="certification"
<div class="modal-body">
<div class="form-group">
{% verbatim %}
<select ng-model="form_filters.contract" class="form-control"
ng-options="c.id as c.name for c in contracts">
<option value="">Todos os Contratos</option>
<select ng-model="form_filters.course" class="form-control"
ng-options="c.id as c.name for c in courses">
<option value="">Todos os Cursos</option>
</select>
{% endverbatim %}
</div>
<div class="form-group">
{% verbatim %}
<select ng-model="form_filters.course" class="form-control"
ng-options="c.id as c.name for c in courses">
<option value="">Todos os Cursos</option>
<select ng-model="form_filters.contract" class="form-control"
ng-options="c.id as c.name for c in contracts">
<option value="">Todas as Áreas de Trabalho</option>
</select>
{% endverbatim %}
</div>
<div class="courses-list">
<div class="line" ng-repeat="certificate in (filteredList = (certificateFormList | filter:form_filters.check))">
<div class="header">
<h5>
{% verbatim %}
<span>{{ certificate.certificate_template.course_name + ' (' + certificate.contract.name + ')' }}</span>
<span>
{{ certificate.course_name }}
{{ certificate.contract ? ' (' + certificate.contract.name + ')' : '' }}
</span>
{% endverbatim %}
<span class="label label-warning" ng-if="certificate.type =='receipt'">{% trans 'Receipt' %}</span>
<span class="label label-success" ng-if="certificate.type == 'certificate'">{% trans 'Certificate' %}</span>
<span class="label label-warning" ng-if="certificate.document_type =='receipt'">{% trans 'Receipt' %}</span>
<span class="label label-success" ng-if="certificate.document_type == 'certificate'">{% trans 'Certificate' %}</span>
</h5>
</div>
</div>
......@@ -86,7 +88,7 @@ ng-app="certification"
<button type="button" class="btn btn-default" ng-click="cancel()">{% trans 'Cancel' %}</button>
<button type="submit"
ng-click="generate_templates()"
ng-disabled="!(form_filters.contract && form_filters.course) || (certificateFormList | filter:form_filters.check).length >= 2"
ng-disabled="!form_filters.course || (certificateFormList | filter:form_filters.check).length >= 2"
class="btn btn-primary">
Gerar templates
</button>
......@@ -115,7 +117,7 @@ ng-app="certification"
<div class="row">
<div class="filter-checkbox col-md-2 col-sm-4">
<div class="checkbox">
<select ng-model="filters.type" class="form-control">
<select ng-model="filters.document_type" class="form-control">
<option value="all">&nbsp;</option>
<option value="receipt">Recibos</option>
<option value="certificate">Certificados</option>
......@@ -129,7 +131,7 @@ ng-app="certification"
{% verbatim %}
<select ng-model="filters.contract" class="form-control"
ng-options="c.id as c.name for c in contracts">
<option value="">Todos os Contratos</option>
<option value="">Todas as Áreas de Trabalho</option>
</select>
{% endverbatim %}
</div>
......@@ -167,12 +169,14 @@ ng-app="certification"
<h4 class="course-title">
{% verbatim %}
<a ng-href="/legacy/admin/certificate_settings/{{ certificate.id }}" title="{{ certificate.name }}">
{{ certificate.certificate_template.course_name + ' (' + certificate.contract.name + ')' }}</a>
{{ certificate.course_name }}
({{ certificate.contract ? certificate.contract.name : 'Padrão' }})
</a>
{% endverbatim %}
</h4>
<span class="label label-warning" ng-if="certificate.type =='receipt'">{% trans 'Receipt' %}</span>
<span class="label label-success" ng-if="certificate.type == 'certificate'">{% trans 'Certificate' %}</span>
<span class="label label-warning" ng-if="certificate.document_type =='receipt'">{% trans 'Receipt' %}</span>
<span class="label label-success" ng-if="certificate.document_type == 'certificate'">{% trans 'Certificate' %}</span>
</div>
</div>
......
......@@ -88,12 +88,12 @@ ng-app="certification"
<header class="page-header">
<h3>{{ page_title }}</h3>
<p class="lead">
{{ ct.certificate_template.course_name }} no contrato: {{ ct.contract.name }}
{{ ct.course_name }} no contrato: {{ ct.contract.name }}
<span ng-hide="preview">
<a href="/legacy/admin/certificate_settings/{{ ct.associate }}"
class="btn btn-sm btn-primary action-button">
<i class="fa fa-cog"></i>
Configurar {{ ct.type == 'receipt' ? 'Certificado' : 'Recibo' }}
Configurar {{ ct.document_type == 'receipt' ? 'Certificado' : 'Recibo' }}
</a>
<span class="btn btn-sm btn-primary action-button" ng-click="help = !help">
<i class="fa fa-question-circle hint-tooltip"></i>
......@@ -130,10 +130,10 @@ ng-app="certification"
<li ng-bind-html="message"></li>
</ul>
</div>
<div class="certificate-container certificate-admin" ng-class="{'receipt-admin receipt' : ct.type == 'receipt'}">
<div class="certificate-container certificate-admin" ng-class="{'receipt-admin receipt' : ct.document_type == 'receipt'}">
<div class="certificate-logos">
<div class="certificate-logo">
<img alt="" ng-dblclick="reset($event, 'base_logo')" preview-image ng-model="images.base_logo" ng-src="{{ ct.certificate_template.base_logo_url }}"
<img alt="" ng-dblclick="reset($event, 'base_logo')" preview-image ng-model="images.base_logo" ng-src="{{ ct.base_logo_url }}"
class="img-responsive" />
<file clear-button id="base-logo" ng-model="images.base_logo" name="logo"></file>
</div>
......@@ -142,13 +142,13 @@ ng-app="certification"
<file id="site-logo" ng-model="images.site_logo" name="logo"></file>
</div>
<div class="certificate-logo">
<img alt="" ng-dblclick="reset($event, 'cert_logo')" preview-image ng-model="images.cert_logo" ng-src="{{ ct.certificate_template.cert_logo_url }}" class="img-responsive" />
<img alt="" ng-dblclick="reset($event, 'cert_logo')" preview-image ng-model="images.cert_logo" ng-src="{{ ct.cert_logo_url }}" class="img-responsive" />
<file id="cert-logo" ng-model="images.cert_logo" name="logo"></file>
</div>
</div>
<div class="certificate-title">{{ document_title }}</div>
<div class="certificate-info">
<p>{{ ct.type == 'receipt' ? 'Declaramos' : 'Certificamos' }}, para os devidos fins, que</p>
<p>{{ ct.document_type == 'receipt' ? 'Declaramos' : 'Certificamos' }}, para os devidos fins, que</p>
<p class="student">____________________________________</p>
<div class="certificate-template">
<textarea ui-tinymce class="editable-text" rows="3" ng-model="ct.text" required
......@@ -160,32 +160,32 @@ ng-app="certification"
{% endverbatim %}
<div class="credits-section">
<p><b>Realizado em:</b> {{ site.domain }}</p>
<p><b>URL de validação:</b> <a href="">{{ site.domain }}/(código)</a></p>
<p><b>URL de validação:</b> <a href="#">{{ site.domain }}/(código)</a></p>
</div>
{% verbatim %}
<div class="coordinator-section">
<div class="certificate-signature">
<img alt="" ng-dblclick="reset($event, 'signature')"
preview-image ng-model="images.signature" ng-src="{{ ct.certificate_template.signature_url }}" class="img-responsive" />
preview-image ng-model="images.signature" ng-src="{{ ct.signature_url }}" class="img-responsive" />
<file id="signature" ng-model="images.signature" name="logo"></file>
</div>
<div class="editable editable-text name-coordinator">
<input type="text" ng-model="ct.certificate_template.name" placeholder="Digite o nome" />
<input type="text" ng-model="ct.name" placeholder="Digite o nome" />
</div>
<div class="editable editable-text role-coordinator">
<input type="text" ng-model="ct.certificate_template.role" placeholder="Digite o cargo" />
<input type="text" ng-model="ct.role" placeholder="Digite o cargo" />
</div>
</div>
</footer>
</div>
</div>
<div class="certificate-container" ng-class="{'receipt' : ct.type == 'receipt'}" ng-hide="!preview">
<div class="certificate-container" ng-class="{'receipt' : ct.document_type == 'receipt'}" ng-hide="!preview">
<div class="certificate-logos">
<img id="base-logo-preview" src="{{ ct.certificate_template.base_logo_url }}" alt="" class="avante">
<img id="base-logo-preview" src="{{ ct.base_logo_url }}" alt="" class="avante">
<img id="site-logo-preview" src="{{ ct.site_logo_url }}" alt="" class="paralapraca">
<div class="certificate-logo">
<img id="cert-logo-preview" alt="" src="{{ ct.certificate_template.cert_logo_url }}">
<img id="cert-logo-preview" alt="" src="{{ ct.cert_logo_url }}">
</div>
</div>
<div class="certificate-title">{{ document_title }}</div>
......@@ -197,16 +197,16 @@ ng-app="certification"
</div>
<footer>
<div class="credits-section">
<p ng-show="ct.type == 'certificate'"><b>Emitido em:</b> 01/01/2017</p>
<p ng-show="ct.document_type == 'certificate'"><b>Emitido em:</b> 01/01/2017</p>
<p><b>Realizado em:</b> </p>
<p><b>URL de validação:</b> <a href="{% url 'courses_legacy:certificate' object.link_hash %}">/certificate/(código)</a></p>
</div>
<div class="coordinator-section">
<div class="certificate-signature">
<img id="signature-preview" alt="" src="{{ ct.certificate_template.signature_url }}">
<img id="signature-preview" alt="" src="{{ ct.signature_url }}">
</div>
<p class="name-coordinator">{{ ct.certificate_template.name }}</p>
<p class="role-coordinator">{{ ct.certificate_template.role }}</p>
<p class="name-coordinator">{{ ct.name }}</p>
<p class="role-coordinator">{{ ct.role }}</p>
</div>
</footer>
</div>
......
......@@ -44,7 +44,7 @@ wrapper-course-lesson
{% block content %}
<div id="certificate">
{% if object.type == 'receipt' %}
{% if object.document_type == 'receipt' %}
{% if user.is_authenticated %}
{% include "_course-header-inline.html" with course=object.course_student.course %}
{% else %}
......@@ -58,7 +58,7 @@ wrapper-course-lesson
<div class="container">
<a id="download-certificate" href="#" onclick="printToPDF()"
class="btn btn-sm btn-primary pull-right hidden-print download">
{% if object.type == 'receipt' %}
{% if object.document_type == 'receipt' %}
Baixar Declaração
{% else %}
Baixar Certificado
......@@ -67,7 +67,7 @@ wrapper-course-lesson
</div>
</div>
<div id="certificate-id-print" style="margin-bottom: 100px; padding-bottom: 100px;">
{% if object.type == 'receipt' %}
{% if object.document_type == 'receipt' %}
{% include "_certificate-receipt.html" %}
{% else %}
{% include "_certificate-certificate.html" %}
......
......@@ -11,7 +11,7 @@ wrapper-course-lesson
<div class="container">
{% block content %}
<div id="certificate-id-print" style="">
{% if object.type == 'receipt' %}
{% if object.document_type == 'receipt' %}
{% include "_certificate-receipt.html" %}
{% else %}
{% include "_certificate-certificate.html" %}
......
......@@ -197,20 +197,20 @@ wrapper-course-lesson
<tbody>
<tr ng-repeat="student in classe.students_details">
{% verbatim %}
<td>{{ student.user.username }}</td>
<td>{{ student.user.email }}</td>
<td>{{ student.user.name }}</td>
<td>{{ student.username }}</td>
<td>{{ student.email }}</td>
<td>{{ student.name }}</td>
<td ng-show="classe.user_can_certificate">
<input type='checkbox' ng-disabled='!student.certificate || !classe.user_can_certificate_even_without_progress && !student.can_emmit_receipt' ng-click="toggle_certificate($index)" ng-checked="student.certificate.type == 'certificate'">
<input type='checkbox' ng-disabled='!student.certificate || !classe.user_can_certificate_even_without_progress && !student.can_emmit_receipt' ng-click="toggle_certificate($index)" ng-checked="student.certificate.document_type == 'certificate'">
</td>
{% endverbatim %}
<td class="actions">
{% verbatim %}
<a ng-click="remove_item($index)" class="btn btn-warning"><i class="fa fa-trash-o"></i></a>
<a ng-hide="!student.certificate || !classe.user_can_certificate" ng-disabled='!student.can_emmit_receipt' ng-href="{{ student.certificate.url }}" class="btn btn-default" target="_blank" ng-class="{'btn-primary': student.certificate.type == 'certificate', 'disabled': !student.can_emmit_receipt }">
<span ng-show="student.can_emmit_receipt && student.certificate.type == 'receipt'" title="Clique aqui para ver a declaração deste estudante"><i class="fa fa-certificate"></i></span>
<span ng-show="student.can_emmit_receipt && student.certificate.type == 'certificate'" title="Clique aqui para ver o certificado deste estudante"><i class="fa fa-certificate"></i></span>
<a ng-hide="!student.certificate || !classe.user_can_certificate" ng-disabled='!student.can_emmit_receipt' ng-href="{{ student.certificate.url }}" class="btn btn-default" target="_blank" ng-class="{'btn-primary': student.certificate.document_type == 'certificate', 'disabled': !student.can_emmit_receipt }">
<span ng-show="student.can_emmit_receipt && student.certificate.document_type == 'receipt'" title="Clique aqui para ver a declaração deste estudante"><i class="fa fa-certificate"></i></span>
<span ng-show="student.can_emmit_receipt && student.certificate.document_type == 'certificate'" title="Clique aqui para ver o certificado deste estudante"><i class="fa fa-certificate"></i></span>
<span ng-show="!student.can_emmit_receipt" title="Não há certificados disponíveis"><i class="fa fa-certificate"></i></span>
</a>
{% endverbatim %}
......
......@@ -103,7 +103,7 @@ wrapper-course-lesson
<div class="course-thumb column">
<div class="course-thumb-bg" style="background-image: url({{certificate.course.home_thumbnail_url}});"></div>
<a class="btn see-certificate" href="/certificate/{{certificate.link_hash}}/" target="_blank">ver
{{ certificate.type==='receipt' ? 'declaração' : 'certificado' }}</a>
{{ certificate.document_type==='receipt' ? 'declaração' : 'certificado' }}</a>
</div>
<div class="course-description column">
<div class="progress-label">módulo concluído</div>
......
......@@ -83,15 +83,15 @@ wrapper-course-lesson
{% if cs.certificate %}
<a href="{% url 'courses_legacy:certificate' cs.certificate.link_hash %}"
class="btn btn-default btn-sm">
{% if cs.certificate.type == 'receipt' %}
{% if cs.certificate.document_type == 'receipt' %}
{% trans "View Receipt" %}
{% elif cs.certificate.type == 'certificate' %}
{% elif cs.certificate.document_type == 'certificate' %}
{% trans "View certificate" %}
{% endif %}
</a>
{% endif %}
{% if cs.certificate.type == 'receipt' and cs.get_current_class.user_can_certificate %}
{% if cs.certificate.document_type == 'receipt' and cs.get_current_class.user_can_certificate %}
<a href="#"
ng-click="createCertificationProcess({{ cs.id }})"
ng-hide="hasOpenProcess({{ cs.id }})"
......@@ -202,10 +202,10 @@ wrapper-course-lesson
<a class="enroll-link text-uppercase" ng-href="/certificate/{{ course_student.certificate.link_hash }}">
{% endverbatim %}
<i class="fa fa-file-text-o"></i>
<span ng-if="course_student.certificate.type == 'receipt'">
<span ng-if="course_student.certificate.document_type == 'receipt'">
{% trans 'View Receipt' %}
</span>
<span ng-if="course_student.certificate.type == 'certificate'">
<span ng-if="course_student.certificate.document_type == 'certificate'">
{% trans 'View Certificate' %}
</span>
</a>
......@@ -251,10 +251,10 @@ wrapper-course-lesson
<a class="enroll-link text-uppercase" ng-href="/certificate/{{ course_student.certificate.link_hash }}">
{% endverbatim %}
<i class="fa fa-file-text-o"></i>
<span ng-if="course_student.certificate.type == 'receipt'">
<span ng-if="course_student.certificate.document_type == 'receipt'">
{% trans 'View Receipt' %}
</span>
<span ng-if="course_student.certificate.type == 'certificate'">
<span ng-if="course_student.certificate.document_type == 'certificate'">
{% trans 'View Certificate' %}
</span>
</a>
......
Markdown is supported
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