Project

General

Profile

« Previous | Next » 

Revision 79ab3a93

Added by Jérôme Schneider over 13 years ago

Improve models

  • calebasse/agenda/models.py: replace owners by participants
  • calebasse/cale_base/models/__init__.py: import new models classes
  • calebasse/cale_base/models/act.py: add transport, date and convene
  • calebasse/cale_base/models/bill.py: first draft of Bill class
  • calebasse/cale_base/models/user.py: add a CalebasseUser based on
    django auth User
  • calebasse/cale_base/models/transport.py: add transport support (type
    and company)

View differences:

calebasse/agenda/models.py
null=True, blank=True, default=None)
services = models.ManyToManyField('cale_base.Service', verbose_name=('services'),
null=True, blank=True, default=None)
owners = models.ManyToManyField('auth.User', verbose_name=_('owners'))
participants = models.ManyToManyField('cale_base.CalebasseUser')
class Meta:
app_label = 'agenda'
......
def create_event(
title,
event_type,
owners,
participants,
description='',
patient=None,
services=[],
calebasse/cale_base/models/__init__.py
from actes import *
from services import *
from users import *
from act import *
from bill import *
from patient import *
from service import *
from transport import *
from user import *
calebasse/cale_base/models/act.py
# -*- coding: utf-8 -*-
from django.db import models
class Act(models.Model):
class Meta:
app_label = 'cale_base'
VALIDATION_CODE_CHOICES = (
('AB', 'Absent'),
('PR', 'Présent'),
)
act_type = models.ForeignKey('ActType')
convene = models.BooleanField(default=False)
date = models.DateTimeField()
event = models.ForeignKey('agenda.Event')
room = models.CharField(max_length=60)
validation_code = models.CharField(max_length=2,
choices=VALIDATION_CODE_CHOICES,
default='PR')
transport = models.ForeignKey('Transport')
class ActType(models.Model):
class Meta:
app_label = 'cale_base'
name = models.CharField(max_length=200)
billable = models.BooleanField(default=True)
calebasse/cale_base/models/actes.py
# -*- coding: utf-8 -*-
from django.db import models
class Act(models.Model):
class Meta:
app_label = 'cale_base'
STATUS_CHOICES = (
('AB', 'Absent'),
('PR', 'Présent'),
)
act_type = models.ForeignKey('ActType')
status = models.CharField(max_length=2,
choices=STATUS_CHOICES,
default='PR'
)
class ActType(models.Model):
class Meta:
app_label = 'cale_base'
name = models.CharField(max_length=200)
calebasse/cale_base/models/bill.py
from django.db import models
class Bill(models.Model):
class Meta:
app_label = 'cale_base'
acts = models.ManyToManyField('Act')
calebasse/cale_base/models/patient.py
from django.db import models
class Patient(models.Model):
class Meta:
app_label = 'cale_base'
firstname = models.CharField(max_length=150)
lastname = models.CharField(max_length=150)
# TODO add other fields
calebasse/cale_base/models/service.py
from django.db import models
class Service(models.Model):
class Meta:
app_label = 'cale_base'
name = models.CharField(max_length=100)
# TODO : add other fields
calebasse/cale_base/models/services.py
from django.db import models
class Service(models.Model):
class Meta:
app_label = 'cale_base'
name = models.CharField(max_length=100)
calebasse/cale_base/models/transport.py
from django.db import models
class Transport(models.Model):
class Meta:
app_label = 'cale_base'
company = models.ForeignKey('TransportCompany')
transport_type = models.ForeignKey('TransportType')
class TransportCompany(models.Model):
class Meta:
app_label = 'cale_base'
name = models.CharField(max_length=100)
address = models.CharField(max_length=100)
city = models.CharField(max_length=80)
phone = models.CharField(max_length=25)
class TransportType(models.Model):
class Meta:
app_label = 'cale_base'
name = models.CharField(max_length=100)
calebasse/cale_base/models/user.py
from django.db import models
from django.contrib.auth.models import User
class CalebasseUser(User):
class Meta:
app_label = 'cale_base'
services = models.ManyToManyField('ActType')
calebasse/cale_base/models/users.py
from django.db import models
class Patient(models.Model):
class Meta:
app_label = 'cale_base'
firstname = models.CharField(max_length=150)
lastname = models.CharField(max_length=150)

Also available in: Unified diff