class StudentProfileInline(admin.StackedInline):
model = Student
+ filter_horizontal = ['period']
class StudentAdmin(admin.ModelAdmin):
model = Student
+
class ProfessorProfileInline(admin.StackedInline):
model = Professor
filter_horizontal = ['courses']
class CourseAdmin(admin.ModelAdmin):
model = Course
+ ordering = ['number']
class DocumentAdmin(admin.ModelAdmin):
exclude = ['readers']
if created:
student = Student.objects.filter(user=user)
- if not student:
- student = Student(user=user)
- student.platform_only, student.training = self.get_training(row[3].value)
- student.period = Period.objects.get(name='Estivale')
- student.iej = self.get_iej(row[2].value)
- student.save()
+ if student:
+ student.delete()
+ student = Student(user=user)
+ student.platform_only, student.training = self.get_training(row[3].value)
+ student.iej = self.get_iej(row[2].value)
+ student.save()
+ student.period = Period.objects.filter(name='Estivale')
student.procedure = self.get_courses(row[4].value)
student.written_speciality = self.get_courses(row[5].value)
student.oral_speciality = self.get_courses(row[6].value)
class Professor(Model):
user = ForeignKey(User, related_name='professor', verbose_name=_('user'), unique=True)
- training = ForeignKey('Training', related_name='professor', verbose_name=_('training'),
- blank=True, null=True, on_delete=models.SET_NULL)
courses = ManyToManyField('Course', related_name="professor", verbose_name=_('courses'),
blank=True, null=True)
class Student(Model):
user = ForeignKey(User, related_name='student', verbose_name=_('user'), unique=True )
- period = ForeignKey('Period', related_name='student', verbose_name=_('period'),
- blank=True, null=True, on_delete=models.SET_NULL)
+ period = ManyToManyField('Period', related_name='student', verbose_name=_('period'),
+ blank=True, null=True)
iej = ForeignKey('IEJ', related_name='student', verbose_name=_('iej'),
blank=True, null=True, on_delete=models.SET_NULL)
training = ForeignKey('Training', related_name='student', verbose_name=_('training'))
{% for conference in course.conference.all|from_course_type:type %}
<tr {% if not forloop.counter0|divisibleby:"2" %}class="odd"{% endif %}>
<td><a href="{% url teleforma-conference-detail conference.id %}">{{ conference.session }}</a></td>
- <td><a href="{% url telemeta-profile-detail conference.professor.user.username %}" target="_blank">{{ conference.professor }}</a></td>
+ <td>{% if conference.professor.user %}<a href="{% url teleforma-profile-detail conference.professor.user.username %}" target="_blank">{{ conference.professor }}</a>{% endif %}</td>
<td><a href="{% url teleforma-conference-detail conference.id %}">{{ conference.date_begin }}</a></td>
<td align="center">
{% if conference.streaming %}
{% if media.published or user.is_staff %}
<tr {% if not forloop.counter0|divisibleby:"2" %}class="odd"{% endif %}>
<td><a href="{% url teleforma-media-detail media.id %}">{{ media.conference.session }}</a></td>
- <td>{% if media.conference %}<a href="{% url teleforma-profile-detail media.conference.professor.user.username %}" target="_blank">{{ media.conference.professor }}</a>{% endif %}</td>
+ <td>{% if media.conference.professor.user %}<a href="{% url teleforma-profile-detail media.conference.professor.user.username %}" target="_blank">{{ media.conference.professor }}</a>{% endif %}</td>
<td>{% if media.conference.date_begin %}<a href="{% url teleforma-media-detail media.id %}">{{ media.conference.date_begin }}</a>{% endif %}</td>
<td>{{ media.item.approx_duration }}</td>
</tr>
<tr><th>{% trans "Last Name"%}</th>
<th>{% trans "First Name"%}</th>
<th>{% trans "IEJ"%}</th>
+ <th>{% trans "Training"%}</th>
<th>{% trans "Procedure"%}</th>
<th>{% trans "Oral spe"%}</th>
<th>{% trans "Written spe"%}</th>
{% if user.student.get %}
{% with user.student.get as student %}
<td>{{ student.iej.name }}</td>
+ <td>{{ student.training }}</td>
<td>{{ student.procedure.code }}</td>
<td>{{ student.oral_speciality.code }}</td>
<td>{{ student.written_speciality.code }}</td>
]
elif student:
student = user.student.get()
-
courses = [{'courses': get_course(student.procedure),
'types':student.training.procedure.all()},
{'courses': get_course(student.written_speciality),
course_menu = [{'courses': courses[0]['courses'].order_by('number'),
'types': courses[0]['types']},
]
- print course_menu
+
else:
courses = None
return courses