forked from rc/aircox
work on panels
This commit is contained in:
parent
298cb5636b
commit
e3851e39cb
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-01-08 22:44+0100\n"
|
||||
"POT-Creation-Date: 2017-05-17 20:54+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -18,47 +18,47 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: aircox/admin.py:82 aircox/models.py:727
|
||||
#: admin.py:82 models.py:728
|
||||
msgid "Schedule"
|
||||
msgstr "Horaire"
|
||||
|
||||
#: aircox/admin.py:111 aircox/models.py:497
|
||||
#: admin.py:111 models.py:490
|
||||
msgid "end"
|
||||
msgstr "fin"
|
||||
|
||||
#: aircox/admin.py:152
|
||||
#: admin.py:153
|
||||
msgid "Program"
|
||||
msgstr "Programme"
|
||||
|
||||
#: aircox/admin.py:156
|
||||
#: admin.py:157
|
||||
msgid "Day"
|
||||
msgstr "Jour"
|
||||
|
||||
#: aircox/admin.py:160
|
||||
#: admin.py:161
|
||||
msgid "Rerun"
|
||||
msgstr "Rediffusion"
|
||||
|
||||
#: aircox/models.py:105
|
||||
#: models.py:84
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: aircox/models.py:137
|
||||
#: models.py:116
|
||||
msgid "title"
|
||||
msgstr "titre"
|
||||
|
||||
#: aircox/models.py:141
|
||||
#: models.py:120
|
||||
msgid "artist"
|
||||
msgstr "artiste"
|
||||
|
||||
#: aircox/models.py:145
|
||||
#: models.py:124
|
||||
msgid "tags"
|
||||
msgstr "tags"
|
||||
|
||||
#: aircox/models.py:149
|
||||
#: models.py:128
|
||||
msgid "information"
|
||||
msgstr "information"
|
||||
|
||||
#: aircox/models.py:152
|
||||
#: models.py:131
|
||||
msgid ""
|
||||
"additional informations about this track, such as the version, if is it a "
|
||||
"remix, features, etc."
|
||||
|
@ -66,258 +66,280 @@ msgstr ""
|
|||
"informations additionnelles à propos de ce morceau, telles que la version, "
|
||||
"s'ils'agit d'un remix, les fonctionnalités, etc"
|
||||
|
||||
#: aircox/models.py:157
|
||||
#: models.py:136
|
||||
msgid "position in the playlist"
|
||||
msgstr "position dans la playlist"
|
||||
|
||||
#: aircox/models.py:160
|
||||
#: models.py:139
|
||||
msgid "in seconds"
|
||||
msgstr "en secondes"
|
||||
|
||||
#: aircox/models.py:162
|
||||
#: models.py:141
|
||||
msgid "position in the playlist is expressed in seconds"
|
||||
msgstr "position dans la playlist exprimée en secondes"
|
||||
|
||||
#: aircox/models.py:169 aircox/templates/aircox/controllers/stats.html:56
|
||||
#: models.py:148 templates/aircox/controllers/stats.html:59
|
||||
msgid "Track"
|
||||
msgstr "Morceau"
|
||||
|
||||
#: aircox/models.py:170
|
||||
#: models.py:149
|
||||
msgid "Tracks"
|
||||
msgstr "Morceaux"
|
||||
|
||||
#: aircox/models.py:186
|
||||
#: models.py:165
|
||||
msgid "path"
|
||||
msgstr "chemin"
|
||||
|
||||
#: aircox/models.py:187
|
||||
#: models.py:166
|
||||
msgid "path to the working directory"
|
||||
msgstr "chemin vers le repertoire courant"
|
||||
|
||||
#: aircox/models.py:379 aircox/models.py:1132 aircox/models.py:1217
|
||||
#: models.py:171
|
||||
#, fuzzy
|
||||
#| msgid "station"
|
||||
msgid "default station"
|
||||
msgstr "station"
|
||||
|
||||
#: models.py:173
|
||||
msgid "if checked, this station is used as the main one"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:370 models.py:1181 models.py:1318
|
||||
msgid "station"
|
||||
msgstr "station"
|
||||
|
||||
#: aircox/models.py:382 aircox/models.py:1144
|
||||
#: models.py:373 models.py:1193
|
||||
msgid "active"
|
||||
msgstr "actif"
|
||||
|
||||
#: aircox/models.py:384
|
||||
#: models.py:375
|
||||
msgid "if not checked this program is no longer active"
|
||||
msgstr "si selectionné, ce programme n'est plus actif"
|
||||
|
||||
#: aircox/models.py:387
|
||||
#: models.py:378
|
||||
msgid "syncronise"
|
||||
msgstr "synchroniser"
|
||||
|
||||
#: aircox/models.py:389
|
||||
#: models.py:380
|
||||
msgid "update later diffusions according to schedule changes"
|
||||
msgstr ""
|
||||
"mettre à jour les diffusions suivantes selon les changements de l'horaire"
|
||||
|
||||
#: aircox/models.py:483 aircox/models.py:528
|
||||
#: models.py:476 models.py:521
|
||||
msgid "related program"
|
||||
msgstr "programme apparenté"
|
||||
|
||||
#: aircox/models.py:486
|
||||
#: models.py:479
|
||||
msgid "delay"
|
||||
msgstr "délai"
|
||||
|
||||
#: aircox/models.py:488
|
||||
msgid "delay between two sound plays"
|
||||
msgstr "délai entre deux diffusions de son"
|
||||
#: models.py:481
|
||||
msgid "minimal delay between two sound plays"
|
||||
msgstr "délai minimum entre deux sons"
|
||||
|
||||
#: aircox/models.py:491
|
||||
#: models.py:484
|
||||
msgid "begin"
|
||||
msgstr "début"
|
||||
|
||||
#: aircox/models.py:493 aircox/models.py:499
|
||||
#: models.py:486 models.py:492
|
||||
msgid "used to define a time range this stream isplayed"
|
||||
msgstr ""
|
||||
"utilisé pour définir un intervalle de temps pendant laquelle ce stream est "
|
||||
"joué"
|
||||
"utilisé pour définir un intervalle de temps pendant lequel ce stream est joué"
|
||||
|
||||
#: aircox/models.py:530 aircox/models.py:1229
|
||||
#: models.py:524 models.py:1330
|
||||
msgid "date"
|
||||
msgstr "date"
|
||||
|
||||
#: aircox/models.py:532 aircox/models.py:946
|
||||
#: models.py:525
|
||||
#, fuzzy
|
||||
#| msgid "start of the diffusion"
|
||||
msgid "date of the first diffusion"
|
||||
msgstr "début de la diffusion"
|
||||
|
||||
#: models.py:528 models.py:995
|
||||
msgid "duration"
|
||||
msgstr "durée"
|
||||
|
||||
#: aircox/models.py:533
|
||||
#: models.py:529
|
||||
msgid "regular duration"
|
||||
msgstr "durée normale"
|
||||
|
||||
#: aircox/models.py:536
|
||||
#: models.py:532
|
||||
msgid "frequency"
|
||||
msgstr "fréquence"
|
||||
|
||||
#: aircox/models.py:539
|
||||
#: models.py:535
|
||||
msgid "ponctual"
|
||||
msgstr "ponctuel"
|
||||
|
||||
#: aircox/models.py:540
|
||||
#: models.py:536
|
||||
msgid "first week of the month"
|
||||
msgstr "première semaine du mois"
|
||||
|
||||
#: aircox/models.py:541
|
||||
#: models.py:537
|
||||
msgid "second week of the month"
|
||||
msgstr "deuxième semaine du mois"
|
||||
|
||||
#: aircox/models.py:542
|
||||
#: models.py:538
|
||||
msgid "third week of the month"
|
||||
msgstr "troisième semaine du mois"
|
||||
|
||||
#: aircox/models.py:543
|
||||
#: models.py:539
|
||||
msgid "fourth week of the month"
|
||||
msgstr "quatrième semaine du mois"
|
||||
|
||||
#: aircox/models.py:544
|
||||
#: models.py:540
|
||||
msgid "last week of the month"
|
||||
msgstr "dernière semaine du mois"
|
||||
|
||||
#: aircox/models.py:545
|
||||
#: models.py:541
|
||||
msgid "first and third weeks of the month"
|
||||
msgstr "première et troisième semaines du mois"
|
||||
|
||||
#: aircox/models.py:546
|
||||
#: models.py:542
|
||||
msgid "second and fourth weeks of the month"
|
||||
msgstr "deuxième et quatrième semaines du mois"
|
||||
|
||||
#: aircox/models.py:547
|
||||
#: models.py:543
|
||||
msgid "every week"
|
||||
msgstr "toutes les semaines"
|
||||
|
||||
#: aircox/models.py:548
|
||||
#: models.py:544
|
||||
msgid "one week on two"
|
||||
msgstr "une semaine sur deux"
|
||||
|
||||
#: aircox/models.py:554 aircox/models.py:814
|
||||
msgid "initial"
|
||||
msgstr "début"
|
||||
#: models.py:550
|
||||
msgid "initial schedule"
|
||||
msgstr "horaire initial"
|
||||
|
||||
#: aircox/models.py:728
|
||||
#: models.py:729
|
||||
msgid "Schedules"
|
||||
msgstr "Horaires"
|
||||
|
||||
#: aircox/models.py:805 aircox/models.py:916
|
||||
#: models.py:826 models.py:965
|
||||
msgid "program"
|
||||
msgstr "programme"
|
||||
|
||||
#: aircox/models.py:809 aircox/models.py:927 aircox/models.py:1139
|
||||
#: aircox/models.py:1211
|
||||
#: models.py:830 models.py:976 models.py:1188 models.py:1312
|
||||
msgid "type"
|
||||
msgstr "type"
|
||||
|
||||
#: aircox/models.py:816
|
||||
#: models.py:835
|
||||
msgid "initial diffusion"
|
||||
msgstr "diffusion initiale"
|
||||
|
||||
#: models.py:837
|
||||
msgid "the diffusion is a rerun of this one"
|
||||
msgstr "la diffusion est une rediffusion de celle-ci"
|
||||
|
||||
#: aircox/models.py:825
|
||||
#: models.py:847 models.py:849
|
||||
msgid "conflicts"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:852
|
||||
msgid "start of the diffusion"
|
||||
msgstr "début de la diffusion"
|
||||
|
||||
#: aircox/models.py:826
|
||||
#: models.py:853
|
||||
msgid "end of the diffusion"
|
||||
msgstr "fin de la diffusion"
|
||||
|
||||
#: aircox/models.py:895 aircox/views.py:198
|
||||
#: models.py:944 views.py:198
|
||||
msgid "Diffusion"
|
||||
msgstr "Diffusion"
|
||||
|
||||
#: aircox/models.py:896 aircox/templates/aircox/controllers/monitor.html:151
|
||||
#: models.py:945 templates/aircox/controllers/monitor.html:151
|
||||
msgid "Diffusions"
|
||||
msgstr "Diffusions"
|
||||
|
||||
#: aircox/models.py:899
|
||||
#: models.py:948
|
||||
msgid "edit the diffusion's planification"
|
||||
msgstr "éditer la planification de la diffusion"
|
||||
|
||||
#: aircox/models.py:918
|
||||
#: models.py:967
|
||||
msgid "program related to it"
|
||||
msgstr "programme apparenté à celui-ci"
|
||||
|
||||
#: aircox/models.py:922
|
||||
#: models.py:971
|
||||
msgid "diffusion"
|
||||
msgstr "diffusion"
|
||||
|
||||
#: aircox/models.py:924
|
||||
#: models.py:973
|
||||
msgid "initial diffusion related it"
|
||||
msgstr "diffusion initiale apparentée"
|
||||
|
||||
#: aircox/models.py:932
|
||||
#: models.py:981
|
||||
msgid "file"
|
||||
msgstr "fichier"
|
||||
|
||||
#: aircox/models.py:941
|
||||
#: models.py:990
|
||||
msgid "embed HTML code"
|
||||
msgstr "code HTML intégré"
|
||||
|
||||
#: aircox/models.py:943
|
||||
#: models.py:992
|
||||
msgid "HTML code used to embed a sound from external plateform"
|
||||
msgstr ""
|
||||
"code HTML utilisé pour intégrer un son depuis une plateforme extérieure"
|
||||
|
||||
#: aircox/models.py:948
|
||||
#: models.py:997
|
||||
msgid "duration of the sound"
|
||||
msgstr "durée du son"
|
||||
|
||||
#: aircox/models.py:951
|
||||
#: models.py:1000
|
||||
msgid "modification time"
|
||||
msgstr "temps de la modification"
|
||||
|
||||
#: aircox/models.py:953
|
||||
#: models.py:1002
|
||||
msgid "last modification date and time"
|
||||
msgstr "date et heure de la dernière modification"
|
||||
|
||||
#: aircox/models.py:956
|
||||
#: models.py:1005
|
||||
msgid "good quality"
|
||||
msgstr "bonne qualité"
|
||||
|
||||
#: aircox/models.py:957
|
||||
#: models.py:1006
|
||||
msgid "sound's quality is okay"
|
||||
msgstr "la qualité du son est okay"
|
||||
|
||||
#: aircox/models.py:961
|
||||
#: models.py:1010
|
||||
msgid "public"
|
||||
msgstr "public"
|
||||
|
||||
#: aircox/models.py:963
|
||||
#: models.py:1012
|
||||
msgid "the sound is accessible to the public"
|
||||
msgstr "ce son est accessible au public"
|
||||
|
||||
#: aircox/models.py:1023
|
||||
#: models.py:1072
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/models.py:1099
|
||||
#: models.py:1148
|
||||
msgid "Sound"
|
||||
msgstr "Son"
|
||||
|
||||
#: aircox/models.py:1100
|
||||
#: models.py:1149
|
||||
msgid "Sounds"
|
||||
msgstr "Sons"
|
||||
|
||||
#: aircox/models.py:1135
|
||||
#: models.py:1184
|
||||
#, fuzzy
|
||||
#| msgid "duration"
|
||||
msgid "direction"
|
||||
msgstr "durée"
|
||||
|
||||
#: aircox/models.py:1146
|
||||
#: models.py:1195
|
||||
#, fuzzy
|
||||
#| msgid "this output is active"
|
||||
msgid "this port is active"
|
||||
msgstr "cette sortie est active"
|
||||
|
||||
#: aircox/models.py:1149
|
||||
#: models.py:1198
|
||||
#, fuzzy
|
||||
#| msgid "output settings"
|
||||
msgid "port settings"
|
||||
msgstr "paramètres de sortie"
|
||||
|
||||
#: aircox/models.py:1150
|
||||
#: models.py:1199
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "list of comma separated params available; this is put in the output "
|
||||
|
@ -329,35 +351,37 @@ msgstr ""
|
|||
"liste des paramètres disponibles séparés par des virgules; placé dans la "
|
||||
"configuration de sortieen temps que code brut; plugin apparenté"
|
||||
|
||||
#: aircox/models.py:1218
|
||||
msgid "station on which the event occured"
|
||||
msgstr "station sur laquelle l'événement a eu lieu"
|
||||
#: models.py:1319
|
||||
#, fuzzy
|
||||
#| msgid "regular duration"
|
||||
msgid "related station"
|
||||
msgstr "durée normale"
|
||||
|
||||
#: aircox/models.py:1223
|
||||
#: models.py:1324
|
||||
msgid "source"
|
||||
msgstr "source"
|
||||
|
||||
#: aircox/models.py:1225
|
||||
msgid "source id that make it happen on the station"
|
||||
msgstr "id de la source qui le fait arriver sur la station"
|
||||
#: models.py:1326
|
||||
msgid "identifier of the source related to this log"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/models.py:1233
|
||||
#: models.py:1334
|
||||
msgid "comment"
|
||||
msgstr "commentaire"
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:6
|
||||
#: templates/aircox/controllers/monitor.html:6
|
||||
msgid "Monitoring streamer"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:112
|
||||
#: templates/aircox/controllers/monitor.html:112
|
||||
msgid "Monitor Streamer"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:115
|
||||
#: templates/aircox/controllers/monitor.html:115
|
||||
msgid "refresh"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:129
|
||||
#: templates/aircox/controllers/monitor.html:129
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
|
@ -373,47 +397,47 @@ msgstr ""
|
|||
" %(items_counts)s items, avec un total de %(tracks_count)s "
|
||||
"tracks\n"
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:136
|
||||
#: aircox/templates/aircox/controllers/monitor.html:175
|
||||
#: templates/aircox/controllers/monitor.html:136
|
||||
#: templates/aircox/controllers/monitor.html:175
|
||||
msgid "restart"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:138
|
||||
#: aircox/templates/aircox/controllers/monitor.html:177
|
||||
#: templates/aircox/controllers/monitor.html:138
|
||||
#: templates/aircox/controllers/monitor.html:177
|
||||
msgid "skip"
|
||||
msgstr "passer"
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:143
|
||||
#: templates/aircox/controllers/monitor.html:143
|
||||
#, fuzzy
|
||||
#| msgid "source"
|
||||
msgid "Source"
|
||||
msgstr "source"
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:144
|
||||
#: templates/aircox/controllers/monitor.html:144
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:145
|
||||
#: templates/aircox/controllers/monitor.html:145
|
||||
msgid "Actions*"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:158
|
||||
#: templates/aircox/controllers/monitor.html:158
|
||||
msgid "current"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:161
|
||||
#: templates/aircox/controllers/monitor.html:161
|
||||
#, fuzzy
|
||||
#| msgid "diffusion"
|
||||
msgid "diffusions"
|
||||
msgstr "diffusion"
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:163
|
||||
#: templates/aircox/controllers/monitor.html:163
|
||||
#, fuzzy
|
||||
#| msgid "Stream"
|
||||
msgid "stream"
|
||||
msgstr "Stream"
|
||||
|
||||
#: aircox/templates/aircox/controllers/monitor.html:186
|
||||
#: templates/aircox/controllers/monitor.html:186
|
||||
msgid ""
|
||||
"\n"
|
||||
" *: Due to some technical issues, it might take up to 30 seconds to "
|
||||
|
@ -421,49 +445,49 @@ msgid ""
|
|||
" "
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:6
|
||||
#: aircox/templates/aircox/controllers/stats.html:11
|
||||
#: templates/aircox/controllers/stats.html:9
|
||||
#: templates/aircox/controllers/stats.html:14
|
||||
msgid "Statistics of the stations"
|
||||
msgstr "Statistiques des stations"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:16
|
||||
#: templates/aircox/controllers/stats.html:19
|
||||
msgid "day"
|
||||
msgstr "jour"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:18
|
||||
#: templates/aircox/controllers/stats.html:21
|
||||
msgid "month"
|
||||
msgstr "mois"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:20
|
||||
#: templates/aircox/controllers/stats.html:23
|
||||
msgid "year"
|
||||
msgstr "année"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:22
|
||||
#: templates/aircox/controllers/stats.html:25
|
||||
msgid "Show"
|
||||
msgstr ""
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:36
|
||||
#: templates/aircox/controllers/stats.html:39
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:37
|
||||
#: templates/aircox/controllers/stats.html:40
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#. Translators "Header for statistics view"
|
||||
#: aircox/templates/aircox/controllers/stats.html:39
|
||||
#: templates/aircox/controllers/stats.html:42
|
||||
msgid "Diffusion or sound played"
|
||||
msgstr "Diffusion ou son joué"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:40
|
||||
#: templates/aircox/controllers/stats.html:43
|
||||
msgid "Tags"
|
||||
msgstr "Tags"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:65
|
||||
#: templates/aircox/controllers/stats.html:68
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: aircox/templates/aircox/controllers/stats.html:69
|
||||
#: templates/aircox/controllers/stats.html:72
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
|
@ -480,9 +504,15 @@ msgstr ""
|
|||
" %(items_counts)s items, avec un total de %(tracks_count)s "
|
||||
"tracks\n"
|
||||
|
||||
#: aircox/views.py:217
|
||||
#: views.py:216
|
||||
msgid "Stream"
|
||||
msgstr "Stream"
|
||||
|
||||
#~ msgid "station on which the event occured"
|
||||
#~ msgstr "station sur laquelle l'événement a eu lieu"
|
||||
|
||||
#~ msgid "source id that make it happen on the station"
|
||||
#~ msgstr "id de la source qui le fait arriver sur la station"
|
||||
|
||||
#~ msgid "update"
|
||||
#~ msgstr "mettre à jour"
|
||||
|
|
|
@ -478,7 +478,7 @@ class Stream(models.Model):
|
|||
delay = models.TimeField(
|
||||
_('delay'),
|
||||
blank = True, null = True,
|
||||
help_text = _('delay between two sound plays')
|
||||
help_text = _('minimal delay between two sound plays')
|
||||
)
|
||||
begin = models.TimeField(
|
||||
_('begin'),
|
||||
|
@ -520,7 +520,10 @@ class Schedule(models.Model):
|
|||
Program,
|
||||
verbose_name = _('related program'),
|
||||
)
|
||||
date = models.DateTimeField(_('date'))
|
||||
date = models.DateTimeField(
|
||||
_('date'),
|
||||
help_text = _('date of the first diffusion')
|
||||
)
|
||||
duration = models.TimeField(
|
||||
_('duration'),
|
||||
help_text = _('regular duration'),
|
||||
|
@ -544,7 +547,7 @@ class Schedule(models.Model):
|
|||
)
|
||||
initial = models.ForeignKey(
|
||||
'self',
|
||||
verbose_name = _('initial'),
|
||||
verbose_name = _('initial schedule'),
|
||||
blank = True, null = True,
|
||||
help_text = 'this schedule is a rerun of this one',
|
||||
)
|
||||
|
@ -829,7 +832,7 @@ class Diffusion(models.Model):
|
|||
)
|
||||
initial = models.ForeignKey (
|
||||
'self',
|
||||
verbose_name = _('initial'),
|
||||
verbose_name = _('initial diffusion'),
|
||||
blank = True, null = True,
|
||||
help_text = _('the diffusion is a rerun of this one')
|
||||
)
|
||||
|
|
|
@ -193,7 +193,7 @@ class StatisticsView(View,TemplateResponseMixin,LoginRequiredMixin):
|
|||
qs = None
|
||||
item = None
|
||||
if type(elm) == models.Diffusion:
|
||||
qs = models.Track.objects.get_for(elm)
|
||||
qs = models.Track.objects.get_for(object = elm)
|
||||
item = self.Item(
|
||||
type = _('Diffusion'),
|
||||
date = elm.date,
|
||||
|
@ -204,7 +204,6 @@ class StatisticsView(View,TemplateResponseMixin,LoginRequiredMixin):
|
|||
item.add_tags(qs)
|
||||
stats.items.append(item)
|
||||
stats.count += len(item.tracks)
|
||||
|
||||
else:
|
||||
# type is Track (related object of a track is a sound)
|
||||
stream = elm.related.related
|
||||
|
|
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Aircox 0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-31 18:23+0200\n"
|
||||
"POT-Creation-Date: 2017-05-17 20:54+0200\n"
|
||||
"PO-Revision-Date: 2016-10-10 16:00+02\n"
|
||||
"Last-Translator: Aarys\n"
|
||||
"Language-Team: Aircox's translators team\n"
|
||||
|
@ -62,7 +62,7 @@ msgstr "favicon"
|
|||
msgid "small logo for the website displayed in the browser"
|
||||
msgstr "petit logo pour le site affiché dans le navigateur"
|
||||
|
||||
#: models.py:59 models.py:279
|
||||
#: models.py:59 models.py:284
|
||||
msgid "tags"
|
||||
msgstr "tags"
|
||||
|
||||
|
@ -175,6 +175,7 @@ msgid "Promotion"
|
|||
msgstr "promotion"
|
||||
|
||||
#: models.py:154 templates/aircox_cms/snippets/comments.html:6
|
||||
#: wagtail_hooks.py:162
|
||||
msgid "Comments"
|
||||
msgstr "Commentaires"
|
||||
|
||||
|
@ -186,193 +187,210 @@ msgstr "Programmes et contrôles"
|
|||
msgid "website settings"
|
||||
msgstr "paramètres du site internet"
|
||||
|
||||
#: models.py:174
|
||||
msgid "public"
|
||||
msgstr "public"
|
||||
#: models.py:172
|
||||
#, fuzzy
|
||||
#| msgid "Publication"
|
||||
msgid "publication"
|
||||
msgstr "Publication"
|
||||
|
||||
#: models.py:178
|
||||
#: models.py:175
|
||||
#, fuzzy
|
||||
#| msgid "Published by"
|
||||
msgid "published"
|
||||
msgstr "Publié par"
|
||||
|
||||
#: models.py:179
|
||||
msgid "author"
|
||||
msgstr "auteur"
|
||||
|
||||
#: models.py:182 models.py:397
|
||||
#: models.py:183 models.py:401
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: models.py:186
|
||||
#: models.py:187
|
||||
msgid "website"
|
||||
msgstr "site internet"
|
||||
|
||||
#: models.py:190 models.py:238
|
||||
#: models.py:191 models.py:243
|
||||
msgid "date"
|
||||
msgstr "date"
|
||||
|
||||
#: models.py:194
|
||||
#: models.py:195 models.py:199
|
||||
msgid "comment"
|
||||
msgstr "commentaire"
|
||||
|
||||
#: models.py:200
|
||||
#, fuzzy
|
||||
#| msgid "comment"
|
||||
msgid "comments"
|
||||
msgstr "commentaire"
|
||||
|
||||
#. Translators: text shown in the comments list (in admin)
|
||||
#: models.py:199
|
||||
#: models.py:204
|
||||
#, python-brace-format
|
||||
msgid "{date}, {author}: {content}..."
|
||||
msgstr "{date}, {author}: {content}..."
|
||||
|
||||
#: models.py:244
|
||||
#: models.py:249
|
||||
msgid "publish as program"
|
||||
msgstr "publier en tant que programme"
|
||||
|
||||
#: models.py:247
|
||||
#: models.py:252
|
||||
msgid "use this program as the author of the publication"
|
||||
msgstr "utiliser ce programme en tant qu'auteur de la publication"
|
||||
|
||||
#: models.py:250
|
||||
#: models.py:255
|
||||
msgid "focus"
|
||||
msgstr "focus"
|
||||
|
||||
#: models.py:252
|
||||
#: models.py:257
|
||||
msgid "the publication is highlighted;"
|
||||
msgstr "la publication est mise en avant;"
|
||||
|
||||
#: models.py:255 models.py:257
|
||||
#: models.py:260 models.py:262
|
||||
msgid "allow comments"
|
||||
msgstr "autoriser les commentaires"
|
||||
|
||||
#: models.py:261 models.py:609 models.py:634
|
||||
#: models.py:266 models.py:632 models.py:657
|
||||
msgid "body"
|
||||
msgstr "corps du texte"
|
||||
|
||||
#: models.py:263
|
||||
#: models.py:268
|
||||
msgid "the publication itself"
|
||||
msgstr "le contenu de la publication elle-même"
|
||||
|
||||
#: models.py:267
|
||||
#: models.py:272
|
||||
msgid "cover"
|
||||
msgstr "couverture"
|
||||
|
||||
#: models.py:271
|
||||
#: models.py:276
|
||||
msgid "image to use as cover of the publication"
|
||||
msgstr "image à utiliser comme couverture de la publication"
|
||||
|
||||
#: models.py:274
|
||||
#: models.py:279
|
||||
msgid "headline"
|
||||
msgstr "entête"
|
||||
|
||||
#: models.py:276
|
||||
msgid "headline of the publication"
|
||||
#: models.py:281
|
||||
#, fuzzy
|
||||
#| msgid "headline of the publication"
|
||||
msgid "headline of the publication, use it as an introduction"
|
||||
msgstr "entête de la publication"
|
||||
|
||||
#: models.py:286 models.py:287
|
||||
#: models.py:290 models.py:291
|
||||
msgid "Publication"
|
||||
msgstr "Publication"
|
||||
|
||||
#: models.py:295 models.py:301 models.py:618 models.py:646
|
||||
#: models.py:299 models.py:305 models.py:518 models.py:641 models.py:669
|
||||
msgid "Content"
|
||||
msgstr "Contenu"
|
||||
|
||||
#: models.py:302 sections.py:773
|
||||
#: models.py:306 models.py:519 sections.py:773
|
||||
msgid "Links"
|
||||
msgstr "Liens"
|
||||
|
||||
#: models.py:389
|
||||
#: models.py:393
|
||||
msgid "program"
|
||||
msgstr "programme"
|
||||
|
||||
#: models.py:400
|
||||
#: models.py:404
|
||||
msgid "email is public"
|
||||
msgstr "l'email est public"
|
||||
|
||||
#: models.py:402
|
||||
#: models.py:406
|
||||
msgid "the email addess is accessible to the public"
|
||||
msgstr "l'adresse email est accessible au public"
|
||||
|
||||
#: models.py:406
|
||||
#: models.py:410 wagtail_hooks.py:49
|
||||
msgid "Program"
|
||||
msgstr "Programme"
|
||||
|
||||
#: models.py:407 signals.py:85 signals.py:97 wagtail_hooks.py:20
|
||||
#: wagtail_hooks.py:184
|
||||
#: models.py:411 signals.py:85 signals.py:97 wagtail_hooks.py:38
|
||||
#: wagtail_hooks.py:370
|
||||
msgid "Programs"
|
||||
msgstr "Programmes"
|
||||
|
||||
#: models.py:476
|
||||
#: models.py:489
|
||||
msgid "diffusion"
|
||||
msgstr "diffusion"
|
||||
|
||||
#: models.py:488
|
||||
#: models.py:501
|
||||
msgid "publish archive"
|
||||
msgstr "publier l'archive"
|
||||
|
||||
#: models.py:490
|
||||
#: models.py:503
|
||||
msgid "publish the podcast of the complete diffusion"
|
||||
msgstr "publier le podcast de la diffusion complète"
|
||||
|
||||
#: models.py:494
|
||||
#: models.py:507 templates/aircox_cms/snippets/list_item.html:37
|
||||
#: wagtail_hooks.py:80
|
||||
msgid "Diffusion"
|
||||
msgstr "Diffusion"
|
||||
|
||||
#: models.py:495 wagtail_hooks.py:28
|
||||
#: models.py:508 wagtail_hooks.py:55
|
||||
msgid "Diffusions"
|
||||
msgstr "Diffusions"
|
||||
|
||||
#: models.py:498
|
||||
#: models.py:511
|
||||
msgid "Tracks"
|
||||
msgstr "Pistes"
|
||||
|
||||
#: models.py:538
|
||||
#: models.py:554
|
||||
#, python-format
|
||||
msgid "Rerun of %(date)s"
|
||||
msgstr "Rediffusion de %(date)s"
|
||||
msgstr "Rediffusion du %(date)s"
|
||||
|
||||
#: models.py:542
|
||||
#: models.py:558
|
||||
msgid "Cancelled"
|
||||
msgstr "Annulé"
|
||||
|
||||
#: models.py:611 models.py:636
|
||||
#: models.py:634 models.py:659
|
||||
msgid "add an extra description for this list"
|
||||
msgstr "ajouter une description supplémentaire pour cette liste"
|
||||
|
||||
#: models.py:622
|
||||
#: models.py:645
|
||||
msgid "Dynamic List Page"
|
||||
msgstr "Page avec liste dynamique"
|
||||
|
||||
#: models.py:623
|
||||
#: models.py:646
|
||||
msgid "Dynamic List Pages"
|
||||
msgstr "Pages avec liste dynamique"
|
||||
|
||||
#: models.py:681 sections.py:866
|
||||
#: models.py:704 models.py:765 sections.py:866 sections.py:925
|
||||
msgid "station"
|
||||
msgstr "station"
|
||||
|
||||
#: models.py:684 sections.py:869
|
||||
msgid "(required) the station on which the logs happened"
|
||||
msgstr "(obliatoire) la station sur laquelle les logs se sont produits"
|
||||
#: models.py:705 models.py:766 sections.py:926
|
||||
msgid "(required) related station"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:687
|
||||
#: models.py:708
|
||||
msgid "maximum age"
|
||||
msgstr "âge maximum"
|
||||
|
||||
#: models.py:689
|
||||
#: models.py:710
|
||||
msgid "maximum days in the past allowed to be shown. 0 means no limit"
|
||||
msgstr ""
|
||||
"nombre de jours maximum dans le passé autorisés à être affichés. 0 signifie "
|
||||
"qu'il n'y a pas de limite"
|
||||
|
||||
#: models.py:693
|
||||
#: models.py:714
|
||||
msgid "reverse list"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:695
|
||||
#: models.py:716
|
||||
msgid "print logs in ascending order by date"
|
||||
msgstr "afficher les logs de manière ascendante par date"
|
||||
|
||||
#: models.py:699 models.py:700
|
||||
#: models.py:720 models.py:721 wagtail_hooks.py:127
|
||||
msgid "Logs"
|
||||
msgstr "Logs"
|
||||
|
||||
#: models.py:707
|
||||
#: models.py:728 models.py:772
|
||||
msgid "Configuration"
|
||||
msgstr "Configuration"
|
||||
|
||||
#: models.py:744 models.py:745 signals.py:71
|
||||
#: models.py:776 models.py:777 signals.py:71
|
||||
msgid "Timetable"
|
||||
msgstr "Grille horaire"
|
||||
|
||||
|
@ -454,8 +472,7 @@ msgstr "selectionne les sœurs de la page apparentée"
|
|||
#: sections.py:206
|
||||
msgid "if checked, related publications are siblings instead of the children."
|
||||
msgstr ""
|
||||
"si coché, les publications apparentées sont les sœurs au lieu des "
|
||||
"enfants."
|
||||
"si coché, les publications apparentées sont les sœurs au lieu des enfants."
|
||||
|
||||
#: sections.py:211
|
||||
msgid "ascending order"
|
||||
|
@ -503,7 +520,7 @@ msgstr "cacher les icones"
|
|||
msgid "if selected, images of publications will not be displayed in the list"
|
||||
msgstr "si sélectionné, la liste n'affiche pas les images des publications"
|
||||
|
||||
#: sections.py:420 sections.py:940
|
||||
#: sections.py:420 sections.py:945
|
||||
msgid "Navigation"
|
||||
msgstr "Navigation"
|
||||
|
||||
|
@ -659,6 +676,10 @@ msgstr ""
|
|||
msgid "Rendering"
|
||||
msgstr "Rendu"
|
||||
|
||||
#: sections.py:869
|
||||
msgid "(required) the station on which the logs happened"
|
||||
msgstr "(obliatoire) la station sur laquelle les logs se sont produits"
|
||||
|
||||
#: sections.py:874
|
||||
msgid "number of items to display in the list (max 100)"
|
||||
msgstr "nombre d'objets à afficher dans la liste (max 100)"
|
||||
|
@ -679,68 +700,68 @@ msgstr "Section: Grille horaire"
|
|||
msgid "Sections: Timetable"
|
||||
msgstr "Sections: Grilles horaire"
|
||||
|
||||
#: sections.py:925
|
||||
#: sections.py:930
|
||||
msgid "timetable page"
|
||||
msgstr "Page de Grille horaire"
|
||||
|
||||
#: sections.py:927
|
||||
#: sections.py:932
|
||||
msgid "select a timetable page used to show complete timetable"
|
||||
msgstr ""
|
||||
"sélectionner une page de grille horaire pour afficher l'horaire complet"
|
||||
|
||||
#: sections.py:930
|
||||
#: sections.py:935
|
||||
msgid "show date navigation"
|
||||
msgstr "afficher les dates de navigation"
|
||||
|
||||
#: sections.py:932
|
||||
#: sections.py:937
|
||||
msgid "if checked, navigation dates will be shown"
|
||||
msgstr "si coché, les dates de navigation sont affichées"
|
||||
|
||||
#: sections.py:965
|
||||
#: sections.py:970
|
||||
msgid "Section: publication's info"
|
||||
msgstr "Section: info de la publication"
|
||||
|
||||
#: sections.py:966
|
||||
#: sections.py:971
|
||||
msgid "Sections: publication's info"
|
||||
msgstr "Sections: info de la publication"
|
||||
|
||||
#: sections.py:971
|
||||
#: sections.py:976
|
||||
msgid "default text"
|
||||
msgstr "texte par défaut"
|
||||
|
||||
#: sections.py:973
|
||||
#: sections.py:978
|
||||
msgid "search"
|
||||
msgstr "recherche"
|
||||
|
||||
#: sections.py:974
|
||||
#: sections.py:979
|
||||
msgid "text to display when the search field is empty"
|
||||
msgstr "texte à afficher quand le champ de recherche est vide"
|
||||
|
||||
#: sections.py:978
|
||||
#: sections.py:983
|
||||
msgid "Section: search field"
|
||||
msgstr "Section: champ de recherche"
|
||||
|
||||
#: sections.py:979
|
||||
#: sections.py:984
|
||||
msgid "Sections: search field"
|
||||
msgstr "Sections: champ de recherche"
|
||||
|
||||
#: sections.py:995
|
||||
#: sections.py:1000
|
||||
msgid "live title"
|
||||
msgstr "titre du direct"
|
||||
|
||||
#: sections.py:997
|
||||
#: sections.py:1002
|
||||
msgid "text to display when it plays live"
|
||||
msgstr "texte à afficher quand le direct est activé"
|
||||
|
||||
#: sections.py:1000
|
||||
#: sections.py:1005
|
||||
msgid "audio streams"
|
||||
msgstr "streams audio"
|
||||
|
||||
#: sections.py:1001
|
||||
#: sections.py:1006
|
||||
msgid "one audio stream per line"
|
||||
msgstr "un stream audio par ligne"
|
||||
|
||||
#: sections.py:1005
|
||||
#: sections.py:1010
|
||||
msgid "Section: Player"
|
||||
msgstr "Section: Player"
|
||||
|
||||
|
@ -790,11 +811,11 @@ msgstr "{program.name} est un programme sur {station.name}"
|
|||
msgid "Playlist"
|
||||
msgstr "Playlist"
|
||||
|
||||
#: templates/aircox_cms/diffusion_page.html:22
|
||||
#: templates/aircox_cms/diffusion_page.html:23
|
||||
msgid "Dates of diffusion"
|
||||
msgstr "Dates de diffusion"
|
||||
|
||||
#: templates/aircox_cms/diffusion_page.html:36
|
||||
#: templates/aircox_cms/diffusion_page.html:38
|
||||
msgid "Podcasts"
|
||||
msgstr "Podcasts"
|
||||
|
||||
|
@ -832,14 +853,16 @@ msgstr "Lieu"
|
|||
msgid "Price"
|
||||
msgstr "Prix"
|
||||
|
||||
#: templates/aircox_cms/program_page.html:12
|
||||
#: templates/aircox_cms/program_page.html:12 wagtail_hooks.py:101
|
||||
msgid "Schedule"
|
||||
msgstr "Horaire"
|
||||
|
||||
#: templates/aircox_cms/program_page.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%(day)s at %(start)s until %(end)s, <span class=\"info\">%(frequency)s</span>"
|
||||
msgstr "%(day)s de %(start)s à %(end)s, <span class=\"info\">%(frequency)s</span>"
|
||||
msgstr ""
|
||||
"%(day)s de %(start)s à %(end)s, <span class=\"info\">%(frequency)s</span>"
|
||||
|
||||
#: templates/aircox_cms/program_page.html:24
|
||||
msgid "Rerun"
|
||||
|
@ -927,19 +950,19 @@ msgstr "pause"
|
|||
msgid "loading..."
|
||||
msgstr "chargement..."
|
||||
|
||||
#: templates/aircox_cms/snippets/player.html:29
|
||||
#: templates/aircox_cms/snippets/player.html:32
|
||||
msgid "add to the player"
|
||||
msgstr "ajouter au player"
|
||||
|
||||
#: templates/aircox_cms/snippets/player.html:30
|
||||
#: templates/aircox_cms/snippets/player.html:33
|
||||
msgid "more informations"
|
||||
msgstr "plus d'informations"
|
||||
|
||||
#: templates/aircox_cms/snippets/player.html:31
|
||||
#: templates/aircox_cms/snippets/player.html:34
|
||||
msgid "remove this sound"
|
||||
msgstr "enlever ce son"
|
||||
|
||||
#: templates/aircox_cms/snippets/player.html:46
|
||||
#: templates/aircox_cms/snippets/player.html:47
|
||||
msgid "enable and disable single mode"
|
||||
msgstr "activer et désactiver le mode solo"
|
||||
|
||||
|
@ -947,28 +970,44 @@ msgstr "activer et désactiver le mode solo"
|
|||
msgid "add this sound to the playlist"
|
||||
msgstr "ajouter ce son à la playlist"
|
||||
|
||||
#: wagtail_hooks.py:37
|
||||
#: wagtail_hooks.py:86
|
||||
msgid "Schedules"
|
||||
msgstr "Horaires"
|
||||
|
||||
#: wagtail_hooks.py:45
|
||||
#: wagtail_hooks.py:107
|
||||
msgid "Streams"
|
||||
msgstr "Streams"
|
||||
|
||||
#: wagtail_hooks.py:52
|
||||
#: wagtail_hooks.py:121
|
||||
#, fuzzy
|
||||
#| msgid "Streams"
|
||||
msgid "Stream"
|
||||
msgstr "Streams"
|
||||
|
||||
#: wagtail_hooks.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Logs"
|
||||
msgid "Log"
|
||||
msgstr "Logs"
|
||||
|
||||
#: wagtail_hooks.py:153
|
||||
msgid "Advanced"
|
||||
msgstr "Avancé"
|
||||
|
||||
#: wagtail_hooks.py:60
|
||||
#: wagtail_hooks.py:173
|
||||
msgid "Sounds"
|
||||
msgstr "Sons"
|
||||
|
||||
#: wagtail_hooks.py:151
|
||||
#: wagtail_hooks.py:331
|
||||
msgid "Today's Diffusions"
|
||||
msgstr "Diffusions du jour"
|
||||
|
||||
#~ msgid "Published by"
|
||||
#~ msgstr "Publié par"
|
||||
#: wagtail_hooks.py:403
|
||||
msgid "Current Station"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "public"
|
||||
#~ msgstr "public"
|
||||
|
||||
#~ msgid "message to display when a post waits to be reviewed"
|
||||
#~ msgstr "message à afficher quand une publication attend d'être approuvée"
|
||||
|
|
|
@ -460,8 +460,11 @@ class ProgramPage(Publication):
|
|||
|
||||
|
||||
class Track(aircox.models.Track,Orderable):
|
||||
diffusion = ParentalKey('DiffusionPage',
|
||||
related_name='tracks')
|
||||
diffusion = ParentalKey(
|
||||
'DiffusionPage', related_name='tracks',
|
||||
null = True, blank = True,
|
||||
on_delete = models.SET_NULL
|
||||
)
|
||||
|
||||
sort_order_field = 'position'
|
||||
panels = [
|
||||
|
|
|
@ -5001,10 +5001,6 @@ body.ready .nav-main a {
|
|||
background: #262626;
|
||||
}
|
||||
|
||||
.nav-submenu h1 {
|
||||
color: #a2a2a2;
|
||||
}
|
||||
|
||||
.nav-submenu h2 {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ import json
|
|||
from django.utils import timezone as tz
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.forms import SelectMultiple, TextInput
|
||||
from django.contrib.staticfiles.templatetags.staticfiles import static
|
||||
from django.utils.html import format_html
|
||||
from django.utils.safestring import mark_safe
|
||||
|
@ -10,15 +11,25 @@ from django.utils.safestring import mark_safe
|
|||
from wagtail.wagtailcore import hooks
|
||||
from wagtail.wagtailadmin.menu import MenuItem, Menu, SubmenuMenuItem
|
||||
from wagtail.wagtailcore.models import PageRevision
|
||||
|
||||
from wagtail.contrib.modeladmin.options import \
|
||||
ModelAdmin, ModelAdminGroup, modeladmin_register
|
||||
from wagtail.wagtailadmin.edit_handlers import FieldPanel, FieldRowPanel, \
|
||||
MultiFieldPanel, InlinePanel, PageChooserPanel, StreamFieldPanel
|
||||
|
||||
|
||||
import aircox.models
|
||||
import aircox_cms.models as models
|
||||
|
||||
|
||||
class RelatedListWidget(SelectMultiple):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.readonly = True
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def get_context(self, name, value, attrs):
|
||||
self.choices.queryset = self.choices.queryset.filter(pk__in = value)
|
||||
return super().get_context(name, value, attrs)
|
||||
|
||||
#
|
||||
# ModelAdmin items
|
||||
#
|
||||
|
@ -27,9 +38,18 @@ class ProgramAdmin(ModelAdmin):
|
|||
menu_label = _('Programs')
|
||||
menu_icon = 'pick'
|
||||
menu_order = 200
|
||||
list_display = ('name', 'active')
|
||||
list_display = ('name', 'active', 'station')
|
||||
search_fields = ('name',)
|
||||
|
||||
aircox.models.Program.panels = [
|
||||
MultiFieldPanel([
|
||||
FieldPanel('name'),
|
||||
FieldPanel('active'),
|
||||
FieldPanel('sync'),
|
||||
], heading=_('Program')),
|
||||
]
|
||||
|
||||
|
||||
class DiffusionAdmin(ModelAdmin):
|
||||
model = aircox.models.Diffusion
|
||||
menu_label = _('Diffusions')
|
||||
|
@ -40,6 +60,27 @@ class DiffusionAdmin(ModelAdmin):
|
|||
readonly_fields = ('conflicts',)
|
||||
search_fields = ('program__name', 'start')
|
||||
|
||||
aircox.models.Diffusion.panels = [
|
||||
MultiFieldPanel([
|
||||
FieldPanel('program'),
|
||||
FieldPanel('type'),
|
||||
FieldRowPanel([
|
||||
FieldPanel('start'),
|
||||
FieldPanel('end'),
|
||||
]),
|
||||
FieldPanel('initial'),
|
||||
FieldPanel(
|
||||
'conflicts',
|
||||
widget = RelatedListWidget(
|
||||
attrs = {
|
||||
'disabled': True,
|
||||
}
|
||||
)
|
||||
),
|
||||
], heading=_('Diffusion')),
|
||||
]
|
||||
|
||||
|
||||
class ScheduleAdmin(ModelAdmin):
|
||||
model = aircox.models.Schedule
|
||||
menu_label = _('Schedules')
|
||||
|
@ -48,6 +89,19 @@ class ScheduleAdmin(ModelAdmin):
|
|||
list_display = ('program', 'frequency', 'duration', 'initial')
|
||||
list_filter = ('frequency', 'date', 'duration', 'program')
|
||||
|
||||
aircox.models.Schedule.panels = [
|
||||
MultiFieldPanel([
|
||||
FieldPanel('program'),
|
||||
FieldPanel('frequency'),
|
||||
FieldRowPanel([
|
||||
FieldPanel('date'),
|
||||
FieldPanel('duration'),
|
||||
]),
|
||||
FieldPanel('initial'),
|
||||
], heading=_('Schedule')),
|
||||
]
|
||||
|
||||
|
||||
class StreamAdmin(ModelAdmin):
|
||||
model = aircox.models.Stream
|
||||
menu_label = _('Streams')
|
||||
|
@ -56,10 +110,49 @@ class StreamAdmin(ModelAdmin):
|
|||
list_display = ('program', 'delay', 'begin', 'end')
|
||||
list_filter = ('program', 'delay', 'begin', 'end')
|
||||
|
||||
aircox.models.Stream.panels = [
|
||||
MultiFieldPanel([
|
||||
FieldPanel('program'),
|
||||
FieldPanel('delay'),
|
||||
FieldRowPanel([
|
||||
FieldPanel('begin'),
|
||||
FieldPanel('end'),
|
||||
]),
|
||||
], heading=_('Stream')),
|
||||
]
|
||||
|
||||
|
||||
class LogAdmin(ModelAdmin):
|
||||
model = aircox.models.Log
|
||||
menu_label = _('Logs')
|
||||
menu_icon = 'time'
|
||||
menu_order = 300
|
||||
list_display = ['date', 'station', 'source', 'type', 'comment', 'related']
|
||||
list_filter = ['date', 'source', 'related_type']
|
||||
|
||||
aircox.models.Log.panels = [
|
||||
MultiFieldPanel([
|
||||
FieldPanel('date'),
|
||||
FieldRowPanel([
|
||||
FieldPanel('station'),
|
||||
FieldPanel('source'),
|
||||
]),
|
||||
FieldPanel('type'),
|
||||
FieldPanel('comment'),
|
||||
FieldRowPanel([
|
||||
FieldPanel('related_type'),
|
||||
FieldPanel('related_id')
|
||||
]),
|
||||
], heading = _('Log')),
|
||||
]
|
||||
|
||||
|
||||
# Missing: Port, Station, Track
|
||||
|
||||
class AdvancedAdminGroup(ModelAdminGroup):
|
||||
menu_label = _("Advanced")
|
||||
menu_icon = 'plus-inverse'
|
||||
items = (ProgramAdmin, DiffusionAdmin, ScheduleAdmin, StreamAdmin)
|
||||
items = (ProgramAdmin, DiffusionAdmin, ScheduleAdmin, StreamAdmin, LogAdmin)
|
||||
|
||||
modeladmin_register(AdvancedAdminGroup)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user