Importation de l'archive d'un projet django
authorWilly MANGA <willy.manga@auf.org>
Wed, 13 Apr 2011 08:20:06 +0000 (09:20 +0100)
committerWilly MANGA <willy.manga@auf.org>
Wed, 13 Apr 2011 08:20:06 +0000 (09:20 +0100)
avec `git archive --format=tar --prefix=new HEAD |(cd /home/willy/temp
&& tar xvf -)`

django/__init__.py [new file with mode: 0644]
django/manage.py [new file with mode: 0755]
django/settings.py [new file with mode: 0644]
django/urls.py [new file with mode: 0644]
django/usagers/__init__.py [new file with mode: 0644]
django/usagers/admin.py [new file with mode: 0644]
django/usagers/models.py [new file with mode: 0644]
django/usagers/tests.py [new file with mode: 0644]
django/usagers/views.py [new file with mode: 0644]

diff --git a/django/__init__.py b/django/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/django/manage.py b/django/manage.py
new file mode 100755 (executable)
index 0000000..bcdd55e
--- /dev/null
@@ -0,0 +1,11 @@
+#!/usr/bin/python
+from django.core.management import execute_manager
+try:
+    import settings # Assumed to be in the same directory.
+except ImportError:
+    import sys
+    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
+    sys.exit(1)
+
+if __name__ == "__main__":
+    execute_manager(settings)
diff --git a/django/settings.py b/django/settings.py
new file mode 100644 (file)
index 0000000..a9cbd1c
--- /dev/null
@@ -0,0 +1,81 @@
+# Django settings for cnfNdere project.
+
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+
+ADMINS = (
+    # ('Your Name', 'your_email@domain.com'),
+)
+
+MANAGERS = ADMINS
+
+DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+DATABASE_NAME = '/home/willy/temp/cnfNdere.db'             # Or path to database file if using sqlite3.
+DATABASE_USER = ''             # Not used with sqlite3.
+DATABASE_PASSWORD = ''         # Not used with sqlite3.
+DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
+DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
+
+# Local time zone for this installation. Choices can be found here:
+# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
+# although not all choices may be available on all operating systems.
+# If running in a Windows environment this must be set to the same as your
+# system time zone.
+TIME_ZONE = 'Africa/Douala'
+
+# Language code for this installation. All choices can be found here:
+# http://www.i18nguy.com/unicode/language-identifiers.html
+LANGUAGE_CODE = 'fr-fr'
+
+SITE_ID = 1
+
+# If you set this to False, Django will make some optimizations so as not
+# to load the internationalization machinery.
+USE_I18N = True
+
+# Absolute path to the directory that holds media.
+# Example: "/home/media/media.lawrence.com/"
+MEDIA_ROOT = ''
+
+# URL that handles the media served from MEDIA_ROOT. Make sure to use a
+# trailing slash if there is a path component (optional in other cases).
+# Examples: "http://media.lawrence.com", "http://example.com/media/"
+MEDIA_URL = ''
+
+# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
+# trailing slash.
+# Examples: "http://foo.com/media/", "/media/".
+ADMIN_MEDIA_PREFIX = '/media/'
+
+# Make this unique, and don't share it with anybody.
+SECRET_KEY = 'b(he^xh#!b6a6l$4o=(rf*=6nk-!ud)+t=dzjxxtz$1o5o1iep'
+
+# List of callables that know how to import templates from various sources.
+TEMPLATE_LOADERS = (
+    'django.template.loaders.filesystem.load_template_source',
+    'django.template.loaders.app_directories.load_template_source',
+#     'django.template.loaders.eggs.load_template_source',
+)
+
+MIDDLEWARE_CLASSES = (
+    'django.middleware.common.CommonMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+)
+
+ROOT_URLCONF = 'cnfNdere.urls'
+
+TEMPLATE_DIRS = (
+    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
+    # Always use forward slashes, even on Windows.
+    # Don't forget to use absolute paths, not relative paths.
+)
+
+INSTALLED_APPS = (
+    'django.contrib.auth',
+    'django.contrib.admin',
+    'django.contrib.contenttypes',
+    'django.contrib.sessions',
+#    'django.contrib.sites',
+    'cnfNdere.usagers',
+)
diff --git a/django/urls.py b/django/urls.py
new file mode 100644 (file)
index 0000000..b143a71
--- /dev/null
@@ -0,0 +1,17 @@
+from django.conf.urls.defaults import *
+
+# Uncomment the next two lines to enable the admin:
+from django.contrib import admin
+admin.autodiscover()
+
+urlpatterns = patterns('',
+    # Example:
+    # (r'^cnfNdere/', include('cnfNdere.foo.urls')),
+
+    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
+    # to INSTALLED_APPS to enable admin documentation:
+    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
+
+    # Uncomment the next line to enable the admin:
+     (r'^admin/', include(admin.site.urls)),
+)
diff --git a/django/usagers/__init__.py b/django/usagers/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/django/usagers/admin.py b/django/usagers/admin.py
new file mode 100644 (file)
index 0000000..1831ac0
--- /dev/null
@@ -0,0 +1,12 @@
+# -*- coding:utf-8 -*-
+
+from cnfNdere.usagers.models import Usager, Services, Abonne, Universitaire
+from cnfNdere.usagers.models import Souscription, Professionnel
+from django.contrib  import admin
+
+admin.site.register(Usager)
+admin.site.register(Services)
+admin.site.register(Abonne)
+admin.site.register(Universitaire)
+admin.site.register(Professionnel)
+admin.site.register(Souscription)
diff --git a/django/usagers/models.py b/django/usagers/models.py
new file mode 100644 (file)
index 0000000..fcd1dbd
--- /dev/null
@@ -0,0 +1,77 @@
+# -*- coding:utf-8 -*-
+
+from django.db import models
+
+# Create your models here.
+class Usager(models.Model):
+        """Toute nouvelle personne qui passe au CNF"""
+
+        nom = models.CharField("Nom de l'usager",
+                        max_length=200,primary_key=True)
+        tel = models.CharField(max_length=12)
+        email = models.EmailField(max_length=75)
+
+        def __unicode__(self):
+                return self.nom
+
+class Abonne(Usager):
+        """Celui qui s'inscrit à au moins un service du CNF"""
+
+        date_inscription = models.DateTimeField()
+        matricule = models.CharField(max_length=200,unique=True,default="CNFN-")
+
+class Universitaire(Abonne):
+        NIVEAU = (
+                        ('1','Niveau Licence'),
+                        ('2','Niveau Master'),
+                        ('3','Niveau Doctorat'),
+
+        )
+
+        ANNEE_UNIVERSITAIRE = (
+                        ('1','1'),
+                        ('2','2'),
+                        ('3','3'),
+                        ('4','4'),
+                        ('5','5'),
+                        ('6','6'),
+                        ('7','7'),
+                        ('8','8'),
+                        ('8+','plus de 8 an'),
+        )
+
+        specialite = models.CharField(max_length=200)
+        cycle = models.CharField(max_length=1, choices=NIVEAU)
+        annee_univ = models.CharField(max_length=1, choices=ANNEE_UNIVERSITAIRE)
+        nom_memoire = models.CharField(max_length=200)
+        encadreur = models.CharField(max_length=200)
+
+class Professionnel(Abonne):
+        entreprise = models.CharField(max_length=200)
+
+class Services(models.Model):
+        """ Services du CNF offerts aux usagers"""
+
+        FREQUENCE = (
+                        ('Mensuel','Mensuel'),
+                        ('Trimestriel','Trimestriel'),
+                        ('Semestriel','Semestriel'),
+                        ('Annuel','Annuel'),
+                        )
+
+        nom = models.CharField(max_length=200)
+        periodicite = models.CharField(max_length=1,choices=FREQUENCE)
+        valeur = models.CharField("Coût du service",max_length=200,default="Fcfa")
+        description = models.CharField(max_length=200)
+
+        def __unicode__(self):
+                return self.nom
+
+class Souscription(models.Model):
+        nom_abonne = models.ForeignKey('Abonne')
+        code_service = models.ForeignKey('Services')
+        date_souscription = models.DateTimeField()
+
+#TODO : je cherche à définir ce qu'il faut exactement retourner :(
+#        def __unicode__(self):
+#                return ????
diff --git a/django/usagers/tests.py b/django/usagers/tests.py
new file mode 100644 (file)
index 0000000..2247054
--- /dev/null
@@ -0,0 +1,23 @@
+"""
+This file demonstrates two different styles of tests (one doctest and one
+unittest). These will both pass when you run "manage.py test".
+
+Replace these with more appropriate tests for your application.
+"""
+
+from django.test import TestCase
+
+class SimpleTest(TestCase):
+    def test_basic_addition(self):
+        """
+        Tests that 1 + 1 always equals 2.
+        """
+        self.failUnlessEqual(1 + 1, 2)
+
+__test__ = {"doctest": """
+Another way to test that 1 + 1 is equal to 2.
+
+>>> 1 + 1 == 2
+True
+"""}
+
diff --git a/django/usagers/views.py b/django/usagers/views.py
new file mode 100644 (file)
index 0000000..60f00ef
--- /dev/null
@@ -0,0 +1 @@
+# Create your views here.