forms: report web-service errors in the selectors
This commit is contained in:
parent
1b242a8530
commit
3dff1b18aa
|
@ -1,5 +1,7 @@
|
|||
<select {% if not response.courses %}disabled{% endif %} class="courses-selector span8">
|
||||
{% if not response.courses %}
|
||||
<select {% if not response.courses or error %}disabled{% endif %} class="courses-selector span8">
|
||||
{% if error %}
|
||||
<option value="">{{ error }}</option>
|
||||
{% elif not response.courses %}
|
||||
<option value="">Aucun cours disponible</option>
|
||||
{% else %}
|
||||
<option value="">---</option>
|
||||
|
|
|
@ -15,6 +15,6 @@
|
|||
<div class="control-group type-owner">
|
||||
<label for="course-type-owner" class="control-label">Déposer le document dans un cours que je gère</label>
|
||||
<div class="controls">
|
||||
{% include '_courses_selector.html' with response=courses.user_courses only %}
|
||||
{% include '_courses_selector.html' with response=courses.user_courses error=courses.user_courses_error only %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,12 +2,6 @@
|
|||
<div class="control-group type-sponsor">
|
||||
<label for="course-type-sponsor" class="control-label">Ou bien déposer le document dans un cours que gère le commanditaire,</label>
|
||||
<div class="controls">
|
||||
{% if courses.sponsor_courses %}
|
||||
{% include '_courses_selector.html' with response=courses.sponsor_courses only %}
|
||||
{% else %}
|
||||
<select disabled="disabled" class="span8">
|
||||
<option>Pas de commanditaire</option>
|
||||
</select>
|
||||
{% endif %}
|
||||
{% include '_courses_selector.html' with response=courses.sponsor_courses error=courses.sponsor_courses_error only %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
</select>
|
||||
<button disabled data-target="#create-course" type="button" class="add-on btn" data-toggle="modal">Créer un nouveau cours</button>
|
||||
{% else %}
|
||||
{% include '_courses_selector.html' with response=courses.ue_courses only %}
|
||||
<button data-target="#create-course" type="button" class="add-on btn" data-toggle="modal">Créer un nouveau cours</button>
|
||||
{% include '_courses_selector.html' with response=courses.ue_courses error=courses.ue_courses_error only %}
|
||||
<button {% if courses.ue_courses_error %}disabled{% endif %} data-target="#create-course" type="button" class="add-on btn" data-toggle="modal">Créer un nouveau cours</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -102,11 +102,15 @@ def courses_ctx(request, polynum_request):
|
|||
ok, result = conn.get_course_by_owner(request.user.username)
|
||||
if ok:
|
||||
ctx['user_courses'] = result
|
||||
else:
|
||||
ctx['user_courses_error'] = result
|
||||
sponsor_username = polynum_request.sponsor_username()
|
||||
if sponsor_username and sponsor_username != request.user.username:
|
||||
ok, result = conn.get_course_by_owner(sponsor_username)
|
||||
if ok:
|
||||
ctx['sponsor_courses'] = result
|
||||
else:
|
||||
ctx['sponsor_courses_error'] = result
|
||||
if polynum_request.entity or 'ue' in request.GET:
|
||||
ue = request.GET.get('ue')
|
||||
possible_ue = None
|
||||
|
@ -120,7 +124,8 @@ def courses_ctx(request, polynum_request):
|
|||
ctx['ue'] = possible_ue[0].get_name()
|
||||
ue = possible_ue[0].code.upper()
|
||||
ok, result = conn.get_course_by_ue(ue)
|
||||
if not ok:
|
||||
return dict(error=result)
|
||||
ctx['ue_courses'] = result
|
||||
if ok:
|
||||
ctx['ue_courses'] = result
|
||||
else:
|
||||
ctx['ue_courses_error'] = result
|
||||
return ctx
|
||||
|
|
|
@ -79,7 +79,7 @@ class BlackboardConnector(object):
|
|||
r = self.send_request('GetCoursesByOwner',
|
||||
user_login=user_login.encode('ascii'))
|
||||
except ConnectionError:
|
||||
return True, []
|
||||
return False, "Connection Error to %s" % self.url
|
||||
return self._get_course_helper(r)
|
||||
|
||||
def get_course_by_ue(self, entity_code):
|
||||
|
@ -87,7 +87,7 @@ class BlackboardConnector(object):
|
|||
r = self.send_request('GetCoursesByUE',
|
||||
UE_ID=entity_code.encode('ascii'))
|
||||
except ConnectionError:
|
||||
return True, []
|
||||
return False, "Connection Error to %s" % self.url
|
||||
return self._get_course_helper(r)
|
||||
|
||||
def send_file(self, uploadfile, courses_id, visible):
|
||||
|
@ -144,7 +144,7 @@ class BlackboardConnector(object):
|
|||
try:
|
||||
r = self.send_request('GetCategories')
|
||||
except ConnectionError:
|
||||
return True, GetCategoryResponse('', [])
|
||||
return False, "Connection Error to %s" % self.url
|
||||
if r.status_code == 200 and r.content.startswith('<'):
|
||||
try:
|
||||
x = etree.XML(r.content.replace('ISO-8859-1', 'UTF-8'))
|
||||
|
|
Reference in New Issue