Browse Source

Ajustes na integração SIGI x Moodle

pull/163/head 3.0.39
Sesostris Vieira 2 years ago
parent
commit
82baace848
  1. 39
      sigi/apps/eventos/admin.py
  2. 10
      sigi/apps/eventos/templates/admin/eventos/evento/createcourse.html

39
sigi/apps/eventos/admin.py

@ -472,6 +472,7 @@ class EventoAdmin(CartExportMixin, admin.ModelAdmin):
shortname = f"{evento.tipo_evento.nome} - {evento.turma}" shortname = f"{evento.tipo_evento.nome} - {evento.turma}"
inicio = int(time.mktime(evento.data_inicio.astimezone().timetuple())) inicio = int(time.mktime(evento.data_inicio.astimezone().timetuple()))
fim = int(time.mktime(evento.data_termino.astimezone().timetuple())) fim = int(time.mktime(evento.data_termino.astimezone().timetuple()))
erros = []
try: try:
novo_curso = mws.core.course.duplicate_course( novo_curso = mws.core.course.duplicate_course(
evento.tipo_evento.moodle_template_courseid, evento.tipo_evento.moodle_template_courseid,
@ -482,6 +483,17 @@ class EventoAdmin(CartExportMixin, admin.ModelAdmin):
) )
evento.moodle_courseid = novo_curso.id evento.moodle_courseid = novo_curso.id
evento.save() evento.save()
except Exception as e:
self.message_user(
request,
_(
"Ocorreu um erro ao criar o curso no Saberes com "
f"a mensagem {e.message}"
),
level=messages.ERROR,
)
return redirect(change_url)
try:
changes = { changes = {
"id": novo_curso.id, "id": novo_curso.id,
"summary": evento.descricao, "summary": evento.descricao,
@ -489,6 +501,15 @@ class EventoAdmin(CartExportMixin, admin.ModelAdmin):
"enddate": fim, "enddate": fim,
} }
res = mws.core.course.update_courses([changes]) res = mws.core.course.update_courses([changes])
except Exception as e:
erros.append(
_(
"Falha na tentativa de alterar o sumário e as datas de "
"início e término do curso, com a seguinte mensagem: "
f"{e.message}"
)
)
try:
membros = evento.equipe_set.exclude( membros = evento.equipe_set.exclude(
membro__moodle_userid=None membro__moodle_userid=None
).exclude(funcao__moodle_roleid=None) ).exclude(funcao__moodle_roleid=None)
@ -502,24 +523,22 @@ class EventoAdmin(CartExportMixin, admin.ModelAdmin):
} }
) )
mws.enrol.manual.enrol_users(equipe) mws.enrol.manual.enrol_users(equipe)
except Exception as e:
erros.append(
_(
"Falha ao tentar inscrever a equipe no curso do Saberes, "
f"com a seguinte mensagem: {e.message}"
)
)
context = { context = {
"evento": evento, "evento": evento,
"fullname": fullname, "fullname": fullname,
"shortname": shortname, "shortname": shortname,
"membros": membros, "membros": membros,
"erros": erros,
"opts": self.model._meta, "opts": self.model._meta,
"preserved_filters": self.get_preserved_filters(request), "preserved_filters": self.get_preserved_filters(request),
} }
return render( return render(
request, "admin/eventos/evento/createcourse.html", context request, "admin/eventos/evento/createcourse.html", context
) )
except Exception as e:
self.message_user(
request,
_(
"Ocorreu um erro ao criar o curso no Saberes com "
f"a mensagem {e.message}"
),
level=messages.ERROR,
)
return redirect(change_url)

10
sigi/apps/eventos/templates/admin/eventos/evento/createcourse.html

@ -27,13 +27,21 @@
acessado em {{ courseurl }}. O nome completo do curso é "{{ fullname }}" acessado em {{ courseurl }}. O nome completo do curso é "{{ fullname }}"
e o nome breve é "{{ shortname }}". e o nome breve é "{{ shortname }}".
{% endblocktrans %} {% endblocktrans %}
</p> </p><br/>
<span class="card-title">{% trans "Os seguintes servidores foram inscritos no curso:" %}</span> <span class="card-title">{% trans "Os seguintes servidores foram inscritos no curso:" %}</span>
<ul> <ul>
{% for membro in membros %} {% for membro in membros %}
<li>{{ membro }}</li> <li>{{ membro }}</li>
{% endfor %} {% endfor %}
</ul> </ul>
{% if erros %}
<br/>
<span class="card-title">{% trans "OCORRERAM OS SEGUINTES ERROS:" %}</span>
<ul>
{% for erro in erros %}
<li>{{ erro }}</li>
{% endfor %}
{% endif %}
</div> </div>
<div class="card-action"> <div class="card-action">
<div class="submit-row"> <div class="submit-row">

Loading…
Cancel
Save