repairs 'notes' in master before branching

This commit is contained in:
artus
2016-08-06 13:42:29 +02:00
parent f3dd74d367
commit ebb1c849e6
7 changed files with 54 additions and 70 deletions

View File

@@ -18,10 +18,9 @@ class Observation(Note):
verbose_name = "Observation"
def __str__(self):
return "<Observation: %s>" % self.sujet
return "%s" % self.sujet
def get_date(self):
return self.rencontre.date
def get_header(self):
return ('Rencontre', [self.rencontre.lieu, "%smin" % self.rencontre.duree])
def save(self, *args, **kwargs):
if not self.created_date:
self.created_date = self.rencontre.date
return super().save(*args, **kwargs)

View File

@@ -6,5 +6,5 @@ from .models import *
@admin.register(Note)
class NoteAdmin(admin.ModelAdmin):
list_display = ['id', 'sujet']
list_filter = ('sujet',)
list_display = ['created_date', 'sujet']
list_filter = ('sujet', 'created_date', 'created_by')

View File

@@ -1,4 +1,5 @@
from django.db import models
from django.utils.html import format_html
class Note(models.Model):
""" Note relative à un sujet.
@@ -15,25 +16,51 @@ class Note(models.Model):
blank=True,
null=True
)
#date_created = models.DateField('Crée le')
created_date = models.DateField('Crée le', blank=True, null=True)
def as_table(self):
pass
html = format_html(
"<tr><th>{} <span class='label label-info'>{}</span>\
<span class='label label-info'>{}</span></th>\
\n<tr><td>{}</td></tr>",
self.sujet,
self.created_date,
self.created_by,
self.text
)
return html
def get_header(self):
""" Informations included in headers """
return ('Note', [])
def as_inline_table(self):
html = format_html(
"<tr><th class='bg-success'><strong>{}</strong> <small>{}</small> \n\
<span class='label label-info pull-right'>{}</span></th>\n\
<tr><td>{}</td></tr>",
self.subclass.__qualname__,
self.created_date,
self.created_by,
self.text
)
return html
def get_date(self):
raise NotImplementedError
def header_label(self):
return self.get_header()[0]
def header_infos(self):
return self.get_header()[1]
def _get_child_and_subclass(self):
self._child_instance = None
self._subclass = None
for f in self._meta.get_fields():
if f.is_relation and f.one_to_one:
self._child_instance = getattr(self, f.name)
self._subclass = self._child_instance.__class__
return
@property
def date(self):
return self.get_date()
def subclass(self):
if not hasattr(self, '_subclass'):
self._get_child_and_subclass()
return self._subclass
def cast(self):
if not hasattr(self, '_child_instance'):
self._get_child_and_subclass()
return self._child_instance
def __str__(self):
return "%s of %s" % (self.subclass.__qualname__, self.created_by)

View File

@@ -1,9 +0,0 @@
<ul class="nav nav-pills nav-justified" role="tablist" style="padding-bottom:20px;float:bottom;">
<li role="presentation" class="active"><a href="#suivi" aria-controls="suivi" role="tab" data-toggle="tab">Suivi</a></li>
<li role="presentation"><a href="#fiche" aria-controls="fiche" role="tab" data-toggle="tab">Fiche</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="suivi">{% include "suivis/sujet_suivi.html" %}</div>
<div role="tabpanel" class="tab-pane" id="fiche">{% include "sujets/sujet_details_inner.html" %}</div>
</div>

View File

@@ -1,19 +0,0 @@
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">Sujets</div>
<div class="list-group">
<a href="{% url 'sujets:liste' %}" class="list-group-item">Liste complète</a>
</div>
</div>
</div>
{% if user.is_superuser %}
<div class="col-md-4">
<div class="panel panel-danger">
<div class="panel-heading">Administration</div>
<div class="list-group">
<a href="{% url 'sujets:create' %}" class="list-group-item">Nouveau sujet</a>
</div>
</div>
</div>
{% endif %}

View File

@@ -1,14 +0,0 @@
<div class="col-md-6">
<table class="table table-striped table-bordered">
{% for note in notes %}
<tr><th>{{note.date}}
<div class="pull-right">
<span class="label label-primary">{{ note.header_label }}</span>
{% for info in note.header_infos %}<span class="label label-info">{{ info }}</span>
{%endfor%}
</div>
</th></tr>
<tr><td>{{note.note}}</td></tr>
{% endfor %}
</table>
</div>

View File

@@ -17,16 +17,16 @@ class SuivisView(views.WebsiteProtectedMixin):
class IndexView(SuivisView, generic.TemplateView):
template_name = "suivis/index.html"
template_name = "suivi/index.html"
header_small = "Tableau de bord"
class SuiviSujetView(SuivisView, generic.DetailView):
model = Sujet
template_name = "suivis/details.html"
template_name = "suivi/details.html"
context_object_name = "sujet"
def get_context_date(self, **kwargs):
context = super().get_context_data(**kwargs)
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context['notes'] = self.object.notes.all()
return context