From 6a6650bf460540519ba2ae71fca04f3c2e17615b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Larchev=C3=AAque?= Date: Tue, 20 Sep 2011 15:11:42 -0400 Subject: [PATCH] move --- .gitignore | 4 + CHANGES | 16 ++++ MANIFEST.in | 2 + README | 39 +++++++++ auf/__init__.py | 5 ++ auf/django/__init__.py | 5 ++ auf/django/skin/context_processors.py | 23 ++++++ auf/django/skin/media/skin/css/admin.css | 6 ++ auf/django/skin/media/skin/css/auf.css | 85 +++++++++++++++++++ auf/django/skin/media/skin/images/favicon.ico | Bin 0 -> 4286 bytes auf/django/skin/media/skin/images/logo_auf.gif | Bin 0 -> 6296 bytes auf/django/skin/media/skin/images/menu.png | Bin 0 -> 251 bytes auf/django/skin/templates/404.html | 11 +++ auf/django/skin/templates/500.html | 43 ++++++++++ auf/django/skin/templates/actions.html | 9 ++ auf/django/skin/templates/admin/base.html | 87 ++++++++++++++++++++ auf/django/skin/templates/admin/base_site.html | 26 ++++++ .../templates/admin/form_utils/better_form.html | 18 ++++ .../skin/templates/admin/form_utils/field.html | 13 +++ auf/django/skin/templates/base.html | 60 ++++++++++++++ auf/django/skin/templates/breadcrumb.html | 8 ++ auf/django/skin/templates/footer.html | 1 + auf/django/skin/templates/menu.html | 5 ++ auf/django/skin/templates/registration/login.html | 16 ++++ auf/django/skin/templates/skin/demo.html | 71 ++++++++++++++++ auf/django/skin/templatetags/auf_menu.py | 12 +++ auf/django/skin/views.py | 20 +++++ setup.cfg | 3 + setup.py | 30 +++++++ 29 files changed, 618 insertions(+) create mode 100644 .gitignore create mode 100644 CHANGES create mode 100644 MANIFEST.in create mode 100644 README create mode 100644 auf/__init__.py create mode 100644 auf/django/__init__.py create mode 100644 auf/django/skin/__init__.py create mode 100644 auf/django/skin/context_processors.py create mode 100644 auf/django/skin/media/skin/css/admin.css create mode 100644 auf/django/skin/media/skin/css/auf.css create mode 100644 auf/django/skin/media/skin/images/favicon.ico create mode 100644 auf/django/skin/media/skin/images/logo_auf.gif create mode 100644 auf/django/skin/media/skin/images/menu.png create mode 100644 auf/django/skin/templates/404.html create mode 100644 auf/django/skin/templates/500.html create mode 100644 auf/django/skin/templates/actions.html create mode 100644 auf/django/skin/templates/admin/base.html create mode 100644 auf/django/skin/templates/admin/base_site.html create mode 100644 auf/django/skin/templates/admin/form_utils/better_form.html create mode 100644 auf/django/skin/templates/admin/form_utils/field.html create mode 100644 auf/django/skin/templates/base.html create mode 100644 auf/django/skin/templates/breadcrumb.html create mode 100644 auf/django/skin/templates/footer.html create mode 100644 auf/django/skin/templates/menu.html create mode 100644 auf/django/skin/templates/registration/login.html create mode 100644 auf/django/skin/templates/skin/demo.html create mode 100755 auf/django/skin/templatetags/__init__.py create mode 100644 auf/django/skin/templatetags/auf_menu.py create mode 100644 auf/django/skin/views.py create mode 100644 setup.cfg create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..499a075 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.pyc +*egg-info +build +dist diff --git a/CHANGES b/CHANGES new file mode 100644 index 0000000..754ecd7 --- /dev/null +++ b/CHANGES @@ -0,0 +1,16 @@ +0.17dev (2011-09-19) +-------------------- +- #1834 : Ajout des pages 404 et 500 + +0.16dev (2011-03-30) +------------------- +- Fix ajout des fichiers de templates form_utils + +0.15dev (2011-03-23) +------------------- +- Ajout de template de base pour que les formulaires de django-form-utils s'intègre à l'admin Django + +0.14dev (2011-03-23) +------------------- +- Modification de la template admin, pour que le menu de django-admintools soit pris en compte + diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..fccccf5 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +recursive-include auf/django/skin/templates * +recursive-include auf/django/skin/media * diff --git a/README b/README new file mode 100644 index 0000000..52136e3 --- /dev/null +++ b/README @@ -0,0 +1,39 @@ +auf.django.skin +=============== + +Rôles +----- + +* Ce module apporte une charte graphique AUF pour construire les interfaces publiques + +* Ce module apporte quelques modifications à l'administration Django : + + + Nom du projet à la place du logo Django + + + Lien vers l'interface publique ajouté à côté de Bienvenue (en haut à droite) + +* Ce module apporte une vue de démontration des styles CSS disponibles. Le code +ci-dessous est automatiquement ajouté lors du bootstrap d'un nouveau projet, +pour rendre cette page accessible au démarrage. + + code dans project/urls.py:: + + ######## page d'accueil de demo ###### + (r'^$', 'auf.django.skin.views.demo'), + ###################################### + + +Fonctionnement +-------------- + +Ce module est fortement lié au module de bootstrap de projet ; lorsqu'un projet est +démarré, la dernière version de *auf.django.skin* est installée, et les fichiers médias +sont **COPIÉS** dans le répertoire média du projet. + +Outils +------ + +* Si vous voulez intégrer des formulaires crées avec django-form-utils dans l'admin Django, +il existe un template prédéfini nommé : **admin/form_utils/better_form.html**. +Il s'utilise dans une template de cette façon : {{ form|render:"admin/form_utils/better_form.html" }} +Note : il faut charger le module **form_utils_tags** au début de la template diff --git a/auf/__init__.py b/auf/__init__.py new file mode 100644 index 0000000..35cf25b --- /dev/null +++ b/auf/__init__.py @@ -0,0 +1,5 @@ +try: + __import__('pkg_resources').declare_namespace(__name__) +except: + # bootstrapping + pass diff --git a/auf/django/__init__.py b/auf/django/__init__.py new file mode 100644 index 0000000..35cf25b --- /dev/null +++ b/auf/django/__init__.py @@ -0,0 +1,5 @@ +try: + __import__('pkg_resources').declare_namespace(__name__) +except: + # bootstrapping + pass diff --git a/auf/django/skin/__init__.py b/auf/django/skin/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/auf/django/skin/context_processors.py b/auf/django/skin/context_processors.py new file mode 100644 index 0000000..d91097f --- /dev/null +++ b/auf/django/skin/context_processors.py @@ -0,0 +1,23 @@ +# -*- encoding: utf-8 -*- + +import settings + +PROJET_TITRE_KEY = 'PROJET_TITRE' +AUF_MEDIA_URL_KEY = "AUF_MEDIA_URL" +AUF_MEDIA_URL_DEFAUT = "/media/skin/" + +def auf(request): + """ + """ + # Nom du projet + site = getattr(settings, PROJET_TITRE_KEY, None) + if not site: + site = "Créer une clef '%s' dans settings.py" % PROJET_TITRE_KEY + + # AUF Media URL + auf_media_url = getattr(settings, AUF_MEDIA_URL_KEY, AUF_MEDIA_URL_DEFAUT) + + return { + 'AUF_SITE' : site, + 'AUF_MEDIA_URL' : auf_media_url, + } diff --git a/auf/django/skin/media/skin/css/admin.css b/auf/django/skin/media/skin/css/admin.css new file mode 100644 index 0000000..39da283 --- /dev/null +++ b/auf/django/skin/media/skin/css/admin.css @@ -0,0 +1,6 @@ +#header #branding h1 { + background: None !important; + line-height: 30px; + text-indent: 0 !important; + width: auto !important; +} diff --git a/auf/django/skin/media/skin/css/auf.css b/auf/django/skin/media/skin/css/auf.css new file mode 100644 index 0000000..bca5b36 --- /dev/null +++ b/auf/django/skin/media/skin/css/auf.css @@ -0,0 +1,85 @@ +/* elements */ + +* {font:normal 100% "trebuchet ms", verdana, arial, helvetica, sans-serif; margin: 0px; padding: 0px;} + +p, ul { margin: 6px 0;} + +body { margin:0; padding:0; background:#fff; color:#454545; font:0.8em verdana, arial, helvetica, sans-serif; } + +h1 { margin:10px 0 0 0; padding:0; color:#d15517; font-size:200%;font-weight:bold; } +h2 { margin:10px 0 0 0; padding:0; color:#5f5f5f; font-size:190%; } +h3 { margin:10px 0 0 0; padding:0; color:#5f5f5f; font-size:170%; } +h4 { margin:10px 0 0 0; padding:0; color:#5f5f5f; font-size:150%; } +h5 { margin:10px 0 0 0; padding:0; background:inherit; color:#5f5f5f; font-size:130%; } + +li {margin-left: 1em; line-height:1.4em; } +p {line-height:1.4em; text-align: justify; } + +a:link, a:visited { color:#0643bb; text-decoration:none; } +a:active { color:#990000; text-decoration:none; } +a:hover { color:#d15517; text-decoration:none; } +a img { border:none; } + +strong {font-weight: bold;} + +form { margin:8px 17px 0 0; padding:0px; } +fieldset {border: 1px solid #EEEEEE; margin: 1em;} +label {font-weight: bold;} + +table { margin:10px 0px; border-collapse:collapse; padding:5px; } +table th, table td{ font-size: 14px; border-top:1px solid #d0e8f8; border-left:1px solid #d0e8f8; padding: 5px; } +table { border-bottom:1px solid #d0e8f8; border-right:1px solid #d0e8f8; } +th { height:28px; border-top:2px solid #d0e8f8; padding:0 10px; background-color:#e7f1f8; font-size:14px; text-align:left; font-weight: bold;} +td { vertical-align: top; } +table h1, table h2, table h3, table h4, table h5 {font-size: 120%; } + +#header { float:left; width:96%; padding:2%; background:#f8fbfd; color:#5f5f5f; border-bottom: 1px dotted #bbd8ec; } + +#logo { float:left; width:80%;} +#logo img { float:left; margin-right:2%;} +#logo h1 { margin:0; padding:0; font:normal 220% "trebuchet ms", verdana, arial, helvetica, sans-serif; color:#5f5f5f;} +#logo h1 a, h1 a:visited {color:#5f5f5f; text-decoration:none;} +#logo h1 a:hover {color:#d15517; text-decoration:none;} +#logo h2 {margin:0;padding:0;} + +#user-actions { float: right;} +#user-actions .username {color: #D15517;} +#user-actions li {list-style-type: none; text-align: right; font-size: 1em; line-height: 1.6em;} +#user-actions a {text-decoration: none;} + +#menu {float:left; width:100%; border-bottom:1px dotted #bbd8ec; background:#e7f1f8 url(/media/skin/images/menu.png); color:#000; text-align:left; } +#menu ul {padding:0; margin: 0; list-style: none;} +#menu ul li {display:block; position:relative; float:left; margin: 0px; background:#e7f1f8 url(/media/skin/images/menu.png);} +#menu li ul { display: none; } +#menu ul li:first-child a {border-left:1px dotted #bbd8ec;} +#menu ul li a {font:bold 130% "trebuchet ms", verdana, arial, helvetica, sans-serif; display: block; text-decoration: none; white-space: nowrap; border-right:1px dotted #bbd8ec; padding:8px 20px 8px 20px; color:#5f5f5f; text-align:center; text-decoration:none;} +#menu ul li.selected a, #menu ul li a:hover { color:#d15517;} +#menu li:hover ul { display: block; position: absolute; border-bottom: 1px dotted #bbd8ec;} +#menu li:hover li {float: none; font-size: 11px;} +#menu li:hover li a {color:#5f5f5f;} +#menu li:hover li a:hover {color:#d15517;} +#menu li:hover li a {border-left: 1px dotted #bbd8ec; border-right: 1px dotted #bbd8ec; } + +#breadcrumb { float:left; width:98%; margin:20px 0 10px 16px; padding:0;font-size: 90%;} +#breadcrumb a, #breadcrumb a:visited {text-decoration:none; color:#6E6E6E;} +#breadcrumb a:hover {color:#d15517; text-decoration: none; } +#breadcrumb .separator {font-size: 120%;} + +ul.messagelist {border: 1px solid #DDDDDD; padding-left:} +ul.messagelist li {background: url("/admin_media/img/admin/icon_success.gif") no-repeat scroll 32px 0.3em #FFFFCC; color: #666666; display: block; font-size: 12px; margin:0; padding: 4px 5px 4px 55px;} + + +#main {padding:0% 2%; min-height:300px; } + +#footer { clear:both; float:left; width:100%; margin:20px 0 0 0; border-top: 1px dotted #bbd8ec; border-bottom: 1px dotted #bbd8ec; padding: 10px 0 6px 0; background: #e7f1f8 url(/media/skin/images/menu.png); color:#404040; text-align:center; } +#footer p { margin:0; padding:0 0 3px 0; font-size:100%; } + +.visualClear {clear: both; display: block;} + +.cell-nombre { padding-right:0px; text-align:right; } +.row1, .even {} +.row2, .odd { background-color:#EFEFEF; } + +.error {color: red; } +ul.errorlist { color: red; list-style-type:none; margin: 0px; padding: 0px; font-size: 11px; } + diff --git a/auf/django/skin/media/skin/images/favicon.ico b/auf/django/skin/media/skin/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..33ba99a60e2cdfe238f9a3a4cae937381858db75 GIT binary patch literal 4286 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 A-~a#s literal 0 HcmV?d00001 diff --git a/auf/django/skin/media/skin/images/menu.png b/auf/django/skin/media/skin/images/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..94bddf18f9515b11d13b7f677f496f3196388e80 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1SGf4^HT*2BR0px|0h z7srr_TW_yjHi7cGZXsT)E{yBEx(eNV{nnz;6nU42mUV(^$N_jT00M) zc93u0w~JHjf^>+l)BU>)`y176KYkat{gP7G)bv?#3tsIxFx_Jt`_7IfnMHzUPYIt_ zX0GX6pP3(P|b>SlzQJF-fNthGC0SgV%* xv~tzS&j!a^ThzoaI;Uy#hxE>Rr>60QaX%-Mm1er>BA~+=JYD@<);T3K0RRBhVhsQQ literal 0 HcmV?d00001 diff --git a/auf/django/skin/templates/404.html b/auf/django/skin/templates/404.html new file mode 100644 index 0000000..98782da --- /dev/null +++ b/auf/django/skin/templates/404.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} + +{% block sous_titre %}Erreur 404{% endblock %} + +{% block main %} + +

Erreur 404

+ +

Cette page n'existe pas.

+ +{% endblock %} diff --git a/auf/django/skin/templates/500.html b/auf/django/skin/templates/500.html new file mode 100644 index 0000000..f271d6e --- /dev/null +++ b/auf/django/skin/templates/500.html @@ -0,0 +1,43 @@ + + + + + Erreur 500 + + + + + + + + + +
+
+

Erreur 500

+

Une erreur s'est produite dans l'application.

+

L'ARI a été averti par courriel de ce problème.

+

Merci.

+ + +
+ + + + + + diff --git a/auf/django/skin/templates/actions.html b/auf/django/skin/templates/actions.html new file mode 100644 index 0000000..135ed03 --- /dev/null +++ b/auf/django/skin/templates/actions.html @@ -0,0 +1,9 @@ + diff --git a/auf/django/skin/templates/admin/base.html b/auf/django/skin/templates/admin/base.html new file mode 100644 index 0000000..c04af16 --- /dev/null +++ b/auf/django/skin/templates/admin/base.html @@ -0,0 +1,87 @@ +{% load theming_tags %} + + + +{% block title %}{% endblock %} + +{% block extrastyle %}{% endblock %} + +{% if LANGUAGE_BIDI %}{% endif %} +{% render_theming_css %} + +{% block extrahead %}{% endblock %} +{% block blockbots %}{% endblock %} + +{% load i18n %} + + + + +
+ {% if not is_popup %} + + + + {% block breadcrumbs %}{% endblock %} + {% endif %} + + {% if messages %} +
    {% for message in messages %} + {{ message }} + {% endfor %}
+ {% endif %} + + +
+ {% block pretitle %}{% endblock %} + {% block content_title %}{% if title %}

{{ title }}

{% endif %}{% endblock %} + {% block content %} + {% block object-tools %}{% endblock %} + {{ content }} + {% endblock %} + {% block sidebar %}{% endblock %} +
+
+ + + {% block footer %}{% endblock %} +
+ + + + diff --git a/auf/django/skin/templates/admin/base_site.html b/auf/django/skin/templates/admin/base_site.html new file mode 100644 index 0000000..e8a235e --- /dev/null +++ b/auf/django/skin/templates/admin/base_site.html @@ -0,0 +1,26 @@ +{% extends "admin/base.html" %} +{% load i18n admin_tools_menu_tags %} + +{% block title %}{{ title }} | {% trans 'Django site admin' %}{% endblock %} + +{% block extrastyle %} +{{ block.super }} +{% if user.is_active and user.is_staff %} +{% if not is_popup %} +{% admin_tools_render_menu_css %} +{% endif %} +{% endif %} + +{% endblock %} + +{% block branding %} +

{{ AUF_SITE }}

+{% endblock %} + +{% block nav-global %} +{% if user.is_active and user.is_staff %} +{% if not is_popup %} +{% admin_tools_render_menu %} +{% endif %} +{% endif %} +{% endblock %} diff --git a/auf/django/skin/templates/admin/form_utils/better_form.html b/auf/django/skin/templates/admin/form_utils/better_form.html new file mode 100644 index 0000000..398b185 --- /dev/null +++ b/auf/django/skin/templates/admin/form_utils/better_form.html @@ -0,0 +1,18 @@ +{% extends "form_utils/form.html" %} + +{% block fields %} +{% for fieldset in form.fieldsets %} + +
+ +{% if fieldset.legend %} +

{{ fieldset.legend }}

+{% endif %} + +{% with fieldset as fields %} + {% include "admin/form_utils/field.html" %} +{% endwith %} + +
+{% endfor %} +{% endblock %} diff --git a/auf/django/skin/templates/admin/form_utils/field.html b/auf/django/skin/templates/admin/form_utils/field.html new file mode 100644 index 0000000..6193afa --- /dev/null +++ b/auf/django/skin/templates/admin/form_utils/field.html @@ -0,0 +1,13 @@ +{% for field in fields %} + {% if field.is_hidden %} + {{ field }} + {% else %} +
+
+ {{ field.errors }} + {{ field.label_tag }} + {{ field }} +
+
+ {% endif %} +{% endfor %} diff --git a/auf/django/skin/templates/base.html b/auf/django/skin/templates/base.html new file mode 100644 index 0000000..d71f16c --- /dev/null +++ b/auf/django/skin/templates/base.html @@ -0,0 +1,60 @@ + + + + + {% block title %}AUF - {{ AUF_SITE }}{% endblock %} + + + {% block extrahead %}{% endblock %} + + + + + + + + + {% if breadcrumb %} + + {% endif %} + +
+ + {% if messages %} +
    + {% for message in messages %} + {{ message }} + {% endfor %} +
+ {% endif %} + +
+ + +
+ {% block main %} + {% endblock %} +
+ + + + + diff --git a/auf/django/skin/templates/breadcrumb.html b/auf/django/skin/templates/breadcrumb.html new file mode 100644 index 0000000..9eae315 --- /dev/null +++ b/auf/django/skin/templates/breadcrumb.html @@ -0,0 +1,8 @@ +{% block breadcrumb %} + +Vous êtes ici : +{% for url, titre in breadcrumb %} +{{ titre }}{% if not forloop.last %}→{% endif %} +{% endfor %} + +{% endblock %} diff --git a/auf/django/skin/templates/footer.html b/auf/django/skin/templates/footer.html new file mode 100644 index 0000000..8baf166 --- /dev/null +++ b/auf/django/skin/templates/footer.html @@ -0,0 +1 @@ +© AUF - Tous droits réservés diff --git a/auf/django/skin/templates/menu.html b/auf/django/skin/templates/menu.html new file mode 100644 index 0000000..9f8f3a0 --- /dev/null +++ b/auf/django/skin/templates/menu.html @@ -0,0 +1,5 @@ +{% load auf_menu %} + + diff --git a/auf/django/skin/templates/registration/login.html b/auf/django/skin/templates/registration/login.html new file mode 100644 index 0000000..1ac9429 --- /dev/null +++ b/auf/django/skin/templates/registration/login.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block main %} + +

Connexion

+ +
{% csrf_token %} + + {{ form.as_table }} +
+ + +
+ +{% endblock %} + diff --git a/auf/django/skin/templates/skin/demo.html b/auf/django/skin/templates/skin/demo.html new file mode 100644 index 0000000..0d9bb6f --- /dev/null +++ b/auf/django/skin/templates/skin/demo.html @@ -0,0 +1,71 @@ +{% extends "base.html" %} + +{% block main %} + +

Bienvenue sur la page de démonstration de la charte graphique de l'AUF

+ +

Exemple

+ +

L’AUF en bref

+

L’Agence universitaire de la Francophonie (AUF) est présente sur tous les continents, avec plus de 427 agents répartis dans 65 implantations rattachées à neuf bureaux.

+ +

Depuis 1989, cette association d’universités est un opérateur de la Francophonie institutionnelle. Partenaire des établissements d’enseignement supérieur et de recherche qui ont choisi le français comme langue d’enseignement, elle propose plusieurs programmes de coopération visant notamment à soutenir la recherche et l’enseignement en français.

+ +

Chaque année, elle distribue plus de 2 000 bourses dans le cadre de son programme de mobilités. Elle dispose d’un budget annuel de plus de 40 millions d’euros grâce à l’intervention des gouvernements, en premier lieu la France, mais aussi le Canada, le Canada-Québec, la Communauté française de Belgique, la Suisse et le Cameroun, sans oublier beaucoup d’autres États du Sud qui soutiennent leurs universités et mettent à notre disposition des locaux et du personnel.

+ +

Depuis 2000, l’Agence a connu une période de développement sans précédent, marquée par une consolidation de son budget et une progression de 50 % du nombre d’établissements membres. L’AUF fédère aujourd’hui un réseau de 774 établissements répartis sur tous les continents, dans 90 pays, dont 55 sont membres de l’Organisation internationale de la Francophonie.

+

La France, le Vietnam, l’Algérie et le Canada sont respectivement les pays dans lesquels l’Agence compte le plus grand nombre de membres.

+ +

Le développement de l’AUF témoigne de sa notoriété au sein des milieux universitaires, mais aussi de l’attrait du français, comme langue de formation et de culture, sur la scène internationale.

+ +

L’Agence, dont le siège est établi sur le campus de l’Université de Montréal (Canada-Québec), a vocation à contribuer à la construction et à la consolidation d’un espace scientifique en français en :

+ +
    +
  • favorisant la coopération scientifique ;
  • +
  • formant des futurs acteurs du développement ;
  • +
  • soutenant la recherche et l’excellence ;
  • +
  • partageant l’expertise.
  • +
+ +

Les titres

+ +

Titre h1

+

Titre h2

+

Titre h3

+

Titre h4

+ + +

Les listes

+ +
    +
  • Un
  • +
  • Deux
  • +
  • Trois
  • +
+ +
    +
  1. Un
  2. +
  3. Deux
  4. +
  5. Trois
  6. +
+ +

Les tableaux

+ + + + + + +
+ + + + + + + + + +
Titre 1Titre 2
ligne 1ligne 1
ligne 2ligne 2
ligne 3ligne 3
ligne 4ligne 4
+ +{% endblock %} diff --git a/auf/django/skin/templatetags/__init__.py b/auf/django/skin/templatetags/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/auf/django/skin/templatetags/auf_menu.py b/auf/django/skin/templatetags/auf_menu.py new file mode 100644 index 0000000..a843c5c --- /dev/null +++ b/auf/django/skin/templatetags/auf_menu.py @@ -0,0 +1,12 @@ +import re +from django import template + +register = template.Library() + +@register.simple_tag +def menu_actif(request, pattern, css_class="selected"): + if re.search(pattern, request.path.strip('/')): + return css_class + else: + return '' + diff --git a/auf/django/skin/views.py b/auf/django/skin/views.py new file mode 100644 index 0000000..0e15b1b --- /dev/null +++ b/auf/django/skin/views.py @@ -0,0 +1,20 @@ +# -*- encoding: utf-8 -*- + +from django.template import Context, RequestContext +from django.shortcuts import render_to_response + +def demo(request,): + """ + Page pour montrer la charte graphique de l'AUF + """ + breadcrumb = ( + ("/" , "Accueil"), + ("#" , "Demo charte graphique AUF"), + ) + c = {'breadcrumb' : breadcrumb} + return render_to_response("skin/demo.html", + Context(c), + context_instance = RequestContext(request) + ) + + diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..01bb954 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,3 @@ +[egg_info] +tag_build = dev +tag_svn_revision = true diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..e74a5b1 --- /dev/null +++ b/setup.py @@ -0,0 +1,30 @@ +# -*- encoding: utf-8 -*- + +from setuptools import setup, find_packages +import sys, os + +name = 'auf.django.skin' +version = '0.17' + +setup(name=name, + version=version, + description="Élements de la charte graphique AUF", + long_description="""\ +""", + classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers + keywords='AUF skin charte graphique CSS HTML', + author='Olivier Larchev\xc3\xaaque', + author_email='olivier.larcheveque@auf.org', + url='http://pypi.auf.org/%s' % name, + license='GPL', + namespace_packages = ['auf'], + packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), + include_package_data=True, + zip_safe=False, + install_requires=[ + # -*- Extra requirements: -*- + ], + entry_points=""" + # -*- Entry points: -*- + """, + ) -- 1.7.10.4