]> git.0d.be Git - panikdb.git/commitdiff
edit: add a (bootstrap based, <sigh/>) widget for datetime selection
authorFrédéric Péters <fpeters@0d.be>
Fri, 30 Aug 2013 20:05:11 +0000 (22:05 +0200)
committerFrédéric Péters <fpeters@0d.be>
Fri, 30 Aug 2013 20:35:14 +0000 (22:35 +0200)
panikdb/emissions/forms.py
panikdb/emissions/templates/emissions/episode_form.html
panikdb/settings.py
panikdb/static/css/style.css
panikdb/templates/base.html
requirements.txt

index e2645e03d5bd6a98fddf8eaaf0fc19203850715f..8c6477971b79722621290ec0ba811f38413a9efa 100644 (file)
@@ -14,11 +14,23 @@ from django.conf import settings
 from django.template.loader import render_to_string
 
 from taggit.forms import TagWidget
 from django.template.loader import render_to_string
 
 from taggit.forms import TagWidget
-
+import datetimewidget.widgets
 
 from .models import Emission, Episode, Diffusion, Schedule, SoundFile
 
 
 
 from .models import Emission, Episode, Diffusion, Schedule, SoundFile
 
 
+DATETIME_OPTIONS = {
+        'format': 'dd/mm/yyyy hh:ii',
+        'language': 'fr',
+        'weekStart': '1',
+        'autoclose': 'true',
+        }
+
+class DateTimeWidget(datetimewidget.widgets.DateTimeWidget):
+    def __init__(self, *args, **kwargs):
+        super(DateTimeWidget, self).__init__(*args, options=DATETIME_OPTIONS, **kwargs)
+
+
 def slugify(s):
     s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore').lower()
     return re.sub(r'\W+', '-', s)
 def slugify(s):
     s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore').lower()
     return re.sub(r'\W+', '-', s)
@@ -145,7 +157,8 @@ class EpisodeForm(forms.ModelForm):
 
 
 class EpisodeNewForm(EpisodeForm):
 
 
 class EpisodeNewForm(EpisodeForm):
-    diffusion = forms.DateTimeField()
+    diffusion = forms.DateTimeField(label='First Diffusion',
+            widget=DateTimeWidget)
 
     def save(self, commit=True):
         episode = super(EpisodeNewForm, self).save(commit=commit)
 
     def save(self, commit=True):
         episode = super(EpisodeNewForm, self).save(commit=commit)
@@ -179,4 +192,5 @@ class DiffusionForm(forms.ModelForm):
         model = Diffusion
         widgets = {
                 'episode': forms.HiddenInput(),
         model = Diffusion
         widgets = {
                 'episode': forms.HiddenInput(),
+                'datetime': DateTimeWidget(),
         }
         }
index 0b0e7f03f588d24d1e616ec2194be207312dd75c..0310f937ed1e0312d8ee758148e784ed66660d5f 100644 (file)
@@ -5,13 +5,18 @@
 </script>
 {% endblock %}
 
 </script>
 {% endblock %}
 
-{% block content %}
-
+{% block appbar %}
 {% if episode.id %}
 {% if episode.id %}
-<h2>Épisode de « {{ episode.emission.title }} »</h2>
+<h2>{{ episode.emission.title }} — {{ episode.title }}</h2>
+<span><a href="../">Retourner à l'épisode</a></span>
 {% else %}
 {% else %}
-<h2>Nouvel épisode de « {{ emission.title }} »</h2>
+<h2>{{ emission.title }} — Nouvel épisode</h2>
+<span><a href="./">Retourner à l'émission</a></span>
 {% endif %}
 {% endif %}
+{% endblock %}
+
+
+{% block content %}
 
     <form method="post">
       <div id="form-content">
 
     <form method="post">
       <div id="form-content">
index 0d534e841e2fcc3c1e58d505bd9c3b0846d59dff..6193fe38ea962b04cf0b12fe2fd99be8725e949d 100644 (file)
@@ -127,6 +127,9 @@ INSTALLED_APPS = (
     'ckeditor',
     'haystack',
     'taggit',
     'ckeditor',
     'haystack',
     'taggit',
+    'jquery',
+    'datetimewidget',
+    'django_bootstrap_staticfiles',
     'panikdb.emissions',
     'panikdb.aa',
 )
     'panikdb.emissions',
     'panikdb.aa',
 )
index a522ba95f44b6e0a412b0c27cdc6397727453b3a..51423a0f49347f9352bcef6f3122216fc25d746a 100644 (file)
   font-style: normal;
 }
 
   font-style: normal;
 }
 
-html, body {
+html {
        margin: 0;
        margin: 0;
+       background: #F9F9F7 url(../images/a1.gif) repeat-x;
+}
+
+/* bootstrap <sigh/> */
+h1, h2, h3, h4 {
        font-family: sans-serif;
 }
 
        font-family: sans-serif;
 }
 
-html {
-       background: #F9F9F7 url(../images/a1.gif) repeat-x;
+body {
+       margin: 0;
+       background: transparent;
        color: #8c8c73;
        color: #8c8c73;
+       line-height: inherit;
+       font-size: 14px;
 }
 
 a {
 }
 
 a {
@@ -161,6 +169,7 @@ div#content h2 {
 
 div#content ul {
        line-height: 1.5em;
 
 div#content ul {
        line-height: 1.5em;
+       padding: 1ex 2ex 1ex 3ex;
 }
 
 #footer
 }
 
 #footer
@@ -364,12 +373,18 @@ a.big-friendly-button {
        background: #4690d6;
        border: 1px solid #2a567f;
        font-weight: bold;
        background: #4690d6;
        border: 1px solid #2a567f;
        font-weight: bold;
+       border-radius: 5px;
 }
 
 a.big-friendly-button:hover {
        background: #2a567f;
 }
 
 }
 
 a.big-friendly-button:hover {
        background: #2a567f;
 }
 
+.input-append {
+       margin-left: 10px;
+       margin-bottom: 10px;
+}
+
 [class^="icon-"]:before, [class*=" icon-"]:before {
   font-family: FontAwesome;
   font-weight: normal;
 [class^="icon-"]:before, [class*=" icon-"]:before {
   font-family: FontAwesome;
   font-weight: normal;
@@ -393,3 +408,4 @@ a [class^="icon-"], a [class*=" icon-"] {
 .icon-circle-arrow-left:before    { content: "\f0a8"; }
 .icon-circle-arrow-right:before   { content: "\f0a9"; }
 .icon-music:before                { content: "\f001"; }
 .icon-circle-arrow-left:before    { content: "\f0a8"; }
 .icon-circle-arrow-right:before   { content: "\f0a9"; }
 .icon-music:before                { content: "\f001"; }
+.icon-th:before                   { content: "\f00a"; }
index 038d7b1d2f4506e167e4f04db12f612876d74846..ee1f2961e87be459af18e9d5d0f2d41c2bfb10b4 100644 (file)
@@ -5,14 +5,24 @@
   <head>
     <meta charset="utf-8"/>
     <title>{% block page-title %}Panik DB{% endblock %}</title>
   <head>
     <meta charset="utf-8"/>
     <title>{% block page-title %}Panik DB{% endblock %}</title>
-    <link rel="stylesheet" type="text/css" media="all" href="{{ STATIC_URL }}css/style.css"/>
-    <script src="{{ STATIC_URL }}js/jquery.js"></script>
+
+    <script type="text/javascript" src="{{ STATIC_URL }}js/jquery.js"></script>
+    <script type="text/javascript" src="{{ STATIC_URL }}js/bootstrap.js"></script>
+    <link href="{{ STATIC_URL }}css/bootstrap.css" rel="stylesheet" type="text/css"/>
+
     <script src="{{ STATIC_URL }}js/jquery-ui.js"></script>
     <script src="{{ STATIC_URL }}js/jquery.fileupload.js"></script>
     <script src="{{ STATIC_URL }}js/jquery.iframe-transport.js"></script>
     <script src="{{ STATIC_URL }}js/qommon.fileupload.js"></script>
     <script src="{{ STATIC_URL }}js/jquery-ui.js"></script>
     <script src="{{ STATIC_URL }}js/jquery.fileupload.js"></script>
     <script src="{{ STATIC_URL }}js/jquery.iframe-transport.js"></script>
     <script src="{{ STATIC_URL }}js/qommon.fileupload.js"></script>
+
+    <link href="{{ STATIC_URL }}css/datetimepicker.css" rel="stylesheet" type="text/css"/>
+    <script type="text/javascript" src="{{ STATIC_URL }}js/bootstrap-datetimepicker.js"></script>
+
+    <link rel="stylesheet" type="text/css" media="all" href="{{ STATIC_URL }}css/style.css"/>
+
     <!-- <script src="{{ STATIC_URL }}js/qommon.ahah.js"></script> -->
     <link rel="stylesheet" type="text/css" media="all" href="{{ STATIC_URL }}css/smoothness/jquery-ui-1.10.0.custom.css"/>
     <!-- <script src="{{ STATIC_URL }}js/qommon.ahah.js"></script> -->
     <link rel="stylesheet" type="text/css" media="all" href="{{ STATIC_URL }}css/smoothness/jquery-ui-1.10.0.custom.css"/>
+
     {% block extrascripts %}
     {% endblock %}
   </head>
     {% block extrascripts %}
     {% endblock %}
   </head>
index 56b089f4677327e8c5ad88a83ef1b919292ae19d..23f050462682d160d6b5fd5f0da070b84f5b8e15 100644 (file)
@@ -4,3 +4,6 @@ django-ckeditor
 django-taggit
 git+https://github.com/toastdriven/django-haystack.git
 django-registration
 django-taggit
 git+https://github.com/toastdriven/django-haystack.git
 django-registration
+django-jquery
+django-datetime-widget
+django-bootstrap-staticfiles