Skip to content
Snippets Groups Projects
Unverified Commit e3b3f795 authored by Ernesto Rico Schmidt's avatar Ernesto Rico Schmidt
Browse files

Remove `nop` application and configuration

parent c1a40ea5
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
class NopRouter(object):
def allow_migrate(self, db, app_label, model_name=None, **hints):
if app_label == 'nop':
return db == 'nop'
return None
\ No newline at end of file
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
import nop.models
class Migration(migrations.Migration):
app_label = 'nop'
dependencies = [
]
operations = [
migrations.CreateModel(
name='Master',
fields=[
('timestamp', models.BigIntegerField(serialize=False, primary_key=True)),
('cart', models.IntegerField()),
('len', models.IntegerField(null=True, blank=True)),
('showtitle', models.CharField(max_length=765, blank=True)),
('title', models.CharField(max_length=765, blank=True)),
('artist', models.CharField(max_length=765, blank=True)),
('album', models.CharField(max_length=765, blank=True)),
('carttype', nop.models.CartTypeField(max_length=64, blank=True)),
],
options={
'ordering': ['-timestamp'],
'db_table': 'master',
},
),
migrations.CreateModel(
name='Standby',
fields=[
('timestamp', models.BigIntegerField(serialize=False, primary_key=True)),
('cart', models.IntegerField()),
('len', models.IntegerField(null=True, blank=True)),
('showtitle', models.CharField(max_length=765, blank=True)),
('title', models.CharField(max_length=765, blank=True)),
('artist', models.CharField(max_length=765, blank=True)),
('album', models.CharField(max_length=765, blank=True)),
('carttype', nop.models.CartTypeField(max_length=64, blank=True)),
],
options={
'ordering': ['-timestamp'],
'db_table': 'standby',
},
),
migrations.CreateModel(
name='State',
fields=[
('timestamp', models.BigIntegerField(serialize=False, primary_key=True)),
('state', models.CharField(max_length=96, blank=True)),
],
options={
'ordering': ['-timestamp'],
'db_table': 'state',
},
),
]
# -*- coding: utf-8 -*-
from django.db import models
class CartTypeField(models.Field):
def __init__(self, *args, **kwargs):
self.types = [('show', 'Show'),
('pool', 'Musicpool'),
('jingle', 'Jingle'),
]
super(CartTypeField, self).__init__(*args, **kwargs)
def db_type(self, connection):
return "ENUM({})".format(','.join("'{}'".format(col)
for col, _ in self.types))
class Master(models.Model):
timestamp = models.BigIntegerField(primary_key=True)
cart = models.IntegerField()
len = models.IntegerField(null=True, blank=True)
showtitle = models.CharField(max_length=765, blank=True)
title = models.CharField(max_length=765, blank=True)
artist = models.CharField(max_length=765, blank=True)
album = models.CharField(max_length=765, blank=True)
carttype = CartTypeField(max_length=64, blank=True)
class Meta:
db_table = 'master'
ordering = ['-timestamp']
class Standby(models.Model):
timestamp = models.BigIntegerField(primary_key=True)
cart = models.IntegerField()
len = models.IntegerField(null=True, blank=True)
showtitle = models.CharField(max_length=765, blank=True)
title = models.CharField(max_length=765, blank=True)
artist = models.CharField(max_length=765, blank=True)
album = models.CharField(max_length=765, blank=True)
carttype = CartTypeField(max_length=64, blank=True)
class Meta:
db_table = 'standby'
ordering = ['-timestamp']
class State(models.Model):
timestamp = models.BigIntegerField(primary_key=True)
state = models.CharField(max_length=96, blank=True)
class Meta:
db_table = 'state'
ordering = ['-timestamp']
\ No newline at end of file
/* anytimec.css 4.1112H (anytime.css 4.1112H)
Copyright 2008-2010 Andrew M. Andrews III (www.AMA3.com). Some Rights
Reserved. This work licensed under the Creative Commons Attribution-
Noncommercial-Share Alike 3.0 Unported License except in jurisdicitons
for which the license has been ported by Creative Commons International,
where the work is licensed under the applicable ported license instead.
For a copy of the unported license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/
or send a letter to Creative Commons, 171 Second Street, Suite 300,
San Francisco, California, 94105, USA. For ported versions of the
license, visit http://creativecommons.org/international/
Any+Time is a trademark of Andrew M. Andrews III. */
.AnyTime-pkr * {border:0;font: inherit;font-size: x-small;font-style:normal;font-weight:normal;list-style-type:none;margin:0;padding:0;white-space: nowrap}
div.AnyTime-win {background-color:#F0F0F1;border:3px solid #C0C0C0;font:normal normal normal xx-small/normal sans-serif;padding-bottom:0.2em;-moz-border-radius:6px;-webkit-border-radius:6px}
.AnyTime-pkr .AnyTime-cloak {background-color:#D7D7D7;opacity:0.7;filter:alpha(opacity=70)}
.AnyTime-pkr .AnyTime-hdr {background-color:#D0D0D1;color:#606062;font-family:Arial,Helvetica,sans-serif;font-size:medium;font-weight:normal;height:1em;margin:0;padding:0 0 0.4em 0;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px}
.AnyTime-pkr .AnyTime-x-btn {background-color:#FCFCFF;border:1px solid #F99;color:#FF9F9F;cursor:default;float:right;margin:0.3em;text-align:center;width:1.5em;-moz-border-radius:0.4em;-webkit-border-radius:0.4em}
.AnyTime-pkr .AnyTime-btn {background-color:#FCFCFE;border:1px solid #999;color:#606062;cursor:default;float:left;font-family:Arial,Helvetica,sans-serif;height:1.5em;margin-bottom:1px;margin-right:1px;padding-top:0.1em;-moz-border-radius:0.4em;-webkit-border-radius:0.4em}
.AnyTime-pkr .AnyTime-body {padding:0.5em}
.AnyTime-pkr .AnyTime-date {float:left;padding:0 0.5em}
.AnyTime-pkr .AnyTime-lbl {clear:left;color:#606063;font-family:Arial,Helvetica,sans-serif;font-size:100%;font-weight:normal;font-style:normal;height:1.3em;margin:0;padding:0;text-align:center}
.AnyTime-pkr .AnyTime-yrs {height:2.6em;text-align:center;width:18.6em}
.AnyTime-pkr .AnyTime-yrs-past-btn {width:2.7em}
.AnyTime-pkr .AnyTime-yr-prior-btn, .AnyTime-pkr .AnyTime-yr-cur-btn, .AnyTime-pkr .AnyTime-yr-next-btn {width:3.75em}
.AnyTime-pkr .AnyTime-yrs-ahead-btn {width:2.7em}
.AnyTime-pkr .AnyTime-mons {height:4.8em;text-align:center;width:18.8em}
.AnyTime-pkr .AnyTime-mon-btn {width:2.75em}
.AnyTime-pkr .AnyTime-mon7-btn {clear:left}
.AnyTime-pkr .AnyTime-dom-table {background-color:#F0F0F1;border:1px solid #E3E3E4;border-spacing:1px;width:18.6em}
.AnyTime-pkr th.AnyTime-dow {background-color:#C0C0C1;color:white;font-family:Arial,Helvetica,sans-serif;font-size:95%;font-weight:normal;font-style:normal}
.AnyTime-pkr .AnyTime-dom-btn {float:none;height:1.7em;text-align:right;padding:0 0.5em 0 0}
.AnyTime-pkr .AnyTime-dom-btn-empty {background-color:#F3F3F4;border:1px solid #C0C0c1}
.AnyTime-pkr .AnyTime-time {float:left;padding:0 0 0 1em;text-align:center}
.AnyTime-pkr .AnyTime-hrs {float:left;padding-left:0.5em;padding-right:0.5em;text-align:center;width:7.2em}
.AnyTime-pkr .AnyTime-hrs-am, .AnyTime-pkr .AnyTime-hrs-pm {float:left;width:3.6em}
.AnyTime-pkr .AnyTime-hr-btn {text-align:right;padding-right:0.25em;width:3em; }
.AnyTime-pkr .AnyTime-mins {float:left;padding-left:0.5em;padding-right:0.5em;text-align:center;width:4.7em}
.AnyTime-pkr .AnyTime-mins-tens, .AnyTime-pkr .AnyTime-mins-ones {float:left;width:2.3em}
.AnyTime-pkr .AnyTime-min-ten-btn, .AnyTime-pkr .AnyTime-min-one-btn {float:left;text-align:center;width:2em}
.AnyTime-pkr .AnyTime-min-ten-btn-empty, .AnyTime-pkr .AnyTime-min-one-btn-empty {background-color:#F3F3F4;border:1px solid #C0C0c1}
.AnyTime-pkr .AnyTime-secs {float:left;padding-left:0.5em;padding-right:0.5em;text-align:center;width:4.7em}
.AnyTime-pkr .AnyTime-secs-tens, .AnyTime-pkr .AnyTime-secs-ones {float:left;width:2.3em}
.AnyTime-pkr .AnyTime-sec-ten-btn, .AnyTime-pkr .AnyTime-sec-one-btn {float:left;text-align:center;width:2em}
.AnyTime-pkr .AnyTime-sec-ten-btn-empty, .AnyTime-pkr .AnyTime-sec-one-btn-empty {background-color:#F3F3F4;border:1px solid #C0C0c1}
.AnyTime-pkr .AnyTime-offs {clear:left;float:left;padding-left:0.5em;padding-top:0.5em;text-align:center}
.AnyTime-pkr .AnyTime-off-select-btn {width:1.5em}
.AnyTime-pkr .AnyTime-body-yr-selector {padding:1em; }
.AnyTime-pkr .AnyTime-yr-mil, .AnyTime-pkr .AnyTime-yr-cent, .AnyTime-pkr .AnyTime-yr-dec, .AnyTime-pkr .AnyTime-yr-yr {float:left;width:2.5em}
.AnyTime-pkr .AnyTime-mil-btn, .AnyTime-pkr .AnyTime-cent-btn, .AnyTime-pkr .AnyTime-dec-btn, .AnyTime-pkr .AnyTime-yr-btn {float:left;text-align:center;width:2em}
.AnyTime-pkr .AnyTime-yr-era {float:left;padding-left:1em;width:4.1em}
.AnyTime-pkr .AnyTime-era-btn {text-align:center;width:3em}
.AnyTime-pkr .AnyTime-body-off-selector {margin:0.5em; }
.AnyTime-pkr .AnyTime-off-off-btn {clear:left;padding-left:1em;padding-right:1em;text-align:left}
.AnyTime-pkr .AnyTime-cur-btn {border:1px solid #333334;background-color:#C0C0C1;color:#FCFCFE;font-weight:bold}
.AnyTime-pkr .AnyTime-out-btn {background-color:#F0F0F1;border:1px solid #C0C0c1}
.AnyTime-pkr .AnyTime-focus-btn {border:1px dashed black}
This diff is collapsed.
/* For the details, see: http://flowplayer.org/tools/dateinput/index.html#skinning */
/* the input field */
.date {
border:1px solid #ccc;
font-size:18px;
padding:4px;
text-align:center;
width:194px;
-moz-box-shadow:0 0 10px #eee inset;
-webkit-box-shadow:0 0 10px #eee inset;
}
/* calendar root element */
#calroot {
/* place on top of other elements. set a higher value if nessessary */
z-index:10000;
margin-top:-1px;
width:198px;
padding:2px;
background-color:#fff;
font-size:11px;
border:1px solid #ccc;
-moz-border-radius:5px;
-webkit-border-radius:5px;
-moz-box-shadow: 0 0 15px #666;
-webkit-box-shadow: 0 0 15px #666;
}
/* head. contains title, prev/next month controls and possible month/year selectors */
#calhead {
padding:2px 0;
height:22px;
}
#caltitle {
font-size:14px;
color:#0150D1;
float:left;
text-align:center;
width:155px;
line-height:20px;
text-shadow:0 1px 0 #ddd;
}
#calnext, #calprev {
display:block;
width:20px;
height:20px;
background:transparent url(prev.gif) no-repeat scroll center center;
float:left;
cursor:pointer;
}
#calnext {
background-image:url(next.gif);
float:right;
}
#calprev.caldisabled, #calnext.caldisabled {
visibility:hidden;
}
/* year/month selector */
#caltitle select {
font-size:10px;
}
/* names of the days */
#caldays {
height:14px;
border-bottom:1px solid #ddd;
}
#caldays span {
display:block;
float:left;
width:28px;
text-align:center;
}
/* container for weeks */
#calweeks {
background-color:#fff;
margin-top:4px;
}
/* single week */
.calweek {
clear:left;
height:22px;
}
/* single day */
.calweek a {
display:block;
float:left;
width:27px;
height:20px;
text-decoration:none;
font-size:11px;
margin-left:1px;
text-align:center;
line-height:20px;
color:#666;
-moz-border-radius:3px;
-webkit-border-radius:3px;
}
/* different states */
.calweek a:hover, .calfocus {
background-color:#ddd;
}
/* sunday */
a.calsun {
color:red;
}
/* offmonth day */
a.caloff {
color:#ccc;
}
a.caloff:hover {
background-color:rgb(245, 245, 250);
}
/* unselecteble day */
a.caldisabled {
background-color:#efefef !important;
color:#ccc !important;
cursor:default;
}
/* current day */
#calcurrent {
background-color:#498CE2;
color:#fff;
}
/* today */
#caltoday {
background-color:#333;
color:#fff;
}
This diff is collapsed.
/*
* jQuery Tools 1.2.5 - The missing UI library for the Web
*
* [dateinput, rangeinput, validator]
*
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
*
* http://flowplayer.org/tools/
*
* File generated: Wed Sep 22 06:12:54 GMT 2010
*/
(function(d){function R(a,c){return 32-(new Date(a,c,32)).getDate()}function S(a,c){a=""+a;for(c=c||2;a.length<c;)a="0"+a;return a}function T(a,c,j){var q=a.getDate(),h=a.getDay(),r=a.getMonth();a=a.getFullYear();var f={d:q,dd:S(q),ddd:B[j].shortDays[h],dddd:B[j].days[h],m:r+1,mm:S(r+1),mmm:B[j].shortMonths[r],mmmm:B[j].months[r],yy:String(a).slice(2),yyyy:a};c=c.replace(X,function(s){return s in f?f[s]:s.slice(1,s.length-1)});return Y.html(c).html()}function v(a){return parseInt(a,10)}function U(a,
c){return a.getFullYear()===c.getFullYear()&&a.getMonth()==c.getMonth()&&a.getDate()==c.getDate()}function C(a){if(a){if(a.constructor==Date)return a;if(typeof a=="string"){var c=a.split("-");if(c.length==3)return new Date(v(c[0]),v(c[1])-1,v(c[2]));if(!/^-?\d+$/.test(a))return;a=v(a)}c=new Date;c.setDate(c.getDate()+a);return c}}function Z(a,c){function j(b,e,g){n=b;D=b.getFullYear();E=b.getMonth();G=b.getDate();g=g||d.Event("api");g.type="change";H.trigger(g,[b]);if(!g.isDefaultPrevented()){a.val(T(b,
e.format,e.lang));a.data("date",b);h.hide(g)}}function q(b){b.type="onShow";H.trigger(b);d(document).bind("keydown.d",function(e){if(e.ctrlKey)return true;var g=e.keyCode;if(g==8){a.val("");return h.hide(e)}if(g==27)return h.hide(e);if(d(V).index(g)>=0){if(!w){h.show(e);return e.preventDefault()}var i=d("#"+f.weeks+" a"),t=d("."+f.focus),o=i.index(t);t.removeClass(f.focus);if(g==74||g==40)o+=7;else if(g==75||g==38)o-=7;else if(g==76||g==39)o+=1;else if(g==72||g==37)o-=1;if(o>41){h.addMonth();t=d("#"+
f.weeks+" a:eq("+(o-42)+")")}else if(o<0){h.addMonth(-1);t=d("#"+f.weeks+" a:eq("+(o+42)+")")}else t=i.eq(o);t.addClass(f.focus);return e.preventDefault()}if(g==34)return h.addMonth();if(g==33)return h.addMonth(-1);if(g==36)return h.today();if(g==13)d(e.target).is("select")||d("."+f.focus).click();return d([16,17,18,9]).index(g)>=0});d(document).bind("click.d",function(e){var g=e.target;if(!d(g).parents("#"+f.root).length&&g!=a[0]&&(!L||g!=L[0]))h.hide(e)})}var h=this,r=new Date,f=c.css,s=B[c.lang],
k=d("#"+f.root),M=k.find("#"+f.title),L,I,J,D,E,G,n=a.attr("data-value")||c.value||a.val(),m=a.attr("min")||c.min,p=a.attr("max")||c.max,w;if(m===0)m="0";n=C(n)||r;m=C(m||c.yearRange[0]*365);p=C(p||c.yearRange[1]*365);if(!s)throw"Dateinput: invalid language: "+c.lang;if(a.attr("type")=="date"){var N=d("<input/>");d.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(b,e){N.attr(e,a.attr(e))});a.replaceWith(N);a=N}a.addClass(f.input);var H=
a.add(h);if(!k.length){k=d("<div><div><a/><div/><a/></div><div><div/><div/></div></div>").hide().css({position:"absolute"}).attr("id",f.root);k.children().eq(0).attr("id",f.head).end().eq(1).attr("id",f.body).children().eq(0).attr("id",f.days).end().eq(1).attr("id",f.weeks).end().end().end().find("a").eq(0).attr("id",f.prev).end().eq(1).attr("id",f.next);M=k.find("#"+f.head).find("div").attr("id",f.title);if(c.selectors){var z=d("<select/>").attr("id",f.month),A=d("<select/>").attr("id",f.year);M.html(z.add(A))}for(var $=
k.find("#"+f.days),O=0;O<7;O++)$.append(d("<span/>").text(s.shortDays[(O+c.firstDay)%7]));d("body").append(k)}if(c.trigger)L=d("<a/>").attr("href","#").addClass(f.trigger).click(function(b){h.show();return b.preventDefault()}).insertAfter(a);var K=k.find("#"+f.weeks);A=k.find("#"+f.year);z=k.find("#"+f.month);d.extend(h,{show:function(b){if(!(a.attr("readonly")||a.attr("disabled")||w)){b=b||d.Event();b.type="onBeforeShow";H.trigger(b);if(!b.isDefaultPrevented()){d.each(W,function(){this.hide()});
w=true;z.unbind("change").change(function(){h.setValue(A.val(),d(this).val())});A.unbind("change").change(function(){h.setValue(d(this).val(),z.val())});I=k.find("#"+f.prev).unbind("click").click(function(){I.hasClass(f.disabled)||h.addMonth(-1);return false});J=k.find("#"+f.next).unbind("click").click(function(){J.hasClass(f.disabled)||h.addMonth();return false});h.setValue(n);var e=a.offset();if(/iPad/i.test(navigator.userAgent))e.top-=d(window).scrollTop();k.css({top:e.top+a.outerHeight({margins:true})+
c.offset[0],left:e.left+c.offset[1]});if(c.speed)k.show(c.speed,function(){q(b)});else{k.show();q(b)}return h}}},setValue:function(b,e,g){var i=v(e)>=-1?new Date(v(b),v(e),v(g||1)):b||n;if(i<m)i=m;else if(i>p)i=p;b=i.getFullYear();e=i.getMonth();g=i.getDate();if(e==-1){e=11;b--}else if(e==12){e=0;b++}if(!w){j(i,c);return h}E=e;D=b;g=new Date(b,e,1-c.firstDay);g=g.getDay();var t=R(b,e),o=R(b,e-1),P;if(c.selectors){z.empty();d.each(s.months,function(x,F){m<new Date(b,x+1,-1)&&p>new Date(b,x,0)&&z.append(d("<option/>").html(F).attr("value",
x))});A.empty();i=r.getFullYear();for(var l=i+c.yearRange[0];l<i+c.yearRange[1];l++)m<=new Date(l+1,-1,1)&&p>new Date(l,0,0)&&A.append(d("<option/>").text(l));z.val(e);A.val(b)}else M.html(s.months[e]+" "+b);K.empty();I.add(J).removeClass(f.disabled);l=!g?-7:0;for(var u,y;l<(!g?35:42);l++){u=d("<a/>");if(l%7===0){P=d("<div/>").addClass(f.week);K.append(P)}if(l<g){u.addClass(f.off);y=o-g+l+1;i=new Date(b,e-1,y)}else if(l>=g+t){u.addClass(f.off);y=l-t-g+1;i=new Date(b,e+1,y)}else{y=l-g+1;i=new Date(b,
e,y);if(U(n,i))u.attr("id",f.current).addClass(f.focus);else U(r,i)&&u.attr("id",f.today)}m&&i<m&&u.add(I).addClass(f.disabled);p&&i>p&&u.add(J).addClass(f.disabled);u.attr("href","#"+y).text(y).data("date",i);P.append(u)}K.find("a").click(function(x){var F=d(this);if(!F.hasClass(f.disabled)){d("#"+f.current).removeAttr("id");F.attr("id",f.current);j(F.data("date"),c,x)}return false});f.sunday&&K.find(f.week).each(function(){var x=c.firstDay?7-c.firstDay:0;d(this).children().slice(x,x+1).addClass(f.sunday)});
return h},setMin:function(b,e){m=C(b);e&&n<m&&h.setValue(m);return h},setMax:function(b,e){p=C(b);e&&n>p&&h.setValue(p);return h},today:function(){return h.setValue(r)},addDay:function(b){return this.setValue(D,E,G+(b||1))},addMonth:function(b){return this.setValue(D,E+(b||1),G)},addYear:function(b){return this.setValue(D+(b||1),E,G)},hide:function(b){if(w){b=d.Event();b.type="onHide";H.trigger(b);d(document).unbind("click.d").unbind("keydown.d");if(b.isDefaultPrevented())return;k.hide();w=false}return h},
getConf:function(){return c},getInput:function(){return a},getCalendar:function(){return k},getValue:function(b){return b?T(n,b,c.lang):n},isOpen:function(){return w}});d.each(["onBeforeShow","onShow","change","onHide"],function(b,e){d.isFunction(c[e])&&d(h).bind(e,c[e]);h[e]=function(g){g&&d(h).bind(e,g);return h}});a.bind("focus click",h.show).keydown(function(b){var e=b.keyCode;if(!w&&d(V).index(e)>=0){h.show(b);return b.preventDefault()}return b.shiftKey||b.ctrlKey||b.altKey||e==9?true:b.preventDefault()});
C(a.val())&&j(n,c)}d.tools=d.tools||{version:"1.2.5"};var W=[],Q,V=[75,76,38,39,74,72,40,37],B={};Q=d.tools.dateinput={conf:{format:"mm/dd/yy",selectors:false,yearRange:[-5,5],lang:"en",offset:[0,0],speed:0,firstDay:0,min:undefined,max:undefined,trigger:false,css:{prefix:"cal",input:"date",root:0,head:0,title:0,prev:0,next:0,month:0,year:0,days:0,body:0,weeks:0,today:0,current:0,week:0,off:0,sunday:0,focus:0,disabled:0,trigger:0}},localize:function(a,c){d.each(c,function(j,q){c[j]=q.split(",")});
B[a]=c}};Q.localize("en",{months:"January,February,March,April,May,June,July,August,September,October,November,December",shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",days:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",shortDays:"Sun,Mon,Tue,Wed,Thu,Fri,Sat"});var X=/d{1,4}|m{1,4}|yy(?:yy)?|"[^"]*"|'[^']*'/g,Y=d("<a/>");d.expr[":"].date=function(a){var c=a.getAttribute("type");return c&&c=="date"||!!d(a).data("dateinput")};d.fn.dateinput=function(a){if(this.data("dateinput"))return this;
a=d.extend(true,{},Q.conf,a);d.each(a.css,function(j,q){if(!q&&j!="prefix")a.css[j]=(a.css.prefix||"")+(q||j)});var c;this.each(function(){var j=new Z(d(this),a);W.push(j);j=j.getInput().data("dateinput",j);c=c?c.add(j):j});return c?c:this}})(jQuery);
(function(e){function F(d,a){a=Math.pow(10,a);return Math.round(d*a)/a}function q(d,a){if(a=parseInt(d.css(a),10))return a;return(d=d[0].currentStyle)&&d.width&&parseInt(d.width,10)}function C(d){return(d=d.data("events"))&&d.onSlide}function G(d,a){function h(c,b,f,j){if(f===undefined)f=b/k*z;else if(j)f-=a.min;if(s)f=Math.round(f/s)*s;if(b===undefined||s)b=f*k/z;if(isNaN(f))return g;b=Math.max(0,Math.min(b,k));f=b/k*z;if(j||!n)f+=a.min;if(n)if(j)b=k-b;else f=a.max-f;f=F(f,t);var r=c.type=="click";
if(D&&l!==undefined&&!r){c.type="onSlide";A.trigger(c,[f,b]);if(c.isDefaultPrevented())return g}j=r?a.speed:0;r=r?function(){c.type="change";A.trigger(c,[f])}:null;if(n){m.animate({top:b},j,r);a.progress&&B.animate({height:k-b+m.width()/2},j)}else{m.animate({left:b},j,r);a.progress&&B.animate({width:b+m.width()/2},j)}l=f;H=b;d.val(f);return g}function o(){if(n=a.vertical||q(i,"height")>q(i,"width")){k=q(i,"height")-q(m,"height");u=i.offset().top+k}else{k=q(i,"width")-q(m,"width");u=i.offset().left}}
function v(){o();g.setValue(a.value!==undefined?a.value:a.min)}var g=this,p=a.css,i=e("<div><div/><a href='#'/></div>").data("rangeinput",g),n,l,u,k,H;d.before(i);var m=i.addClass(p.slider).find("a").addClass(p.handle),B=i.find("div").addClass(p.progress);e.each("min,max,step,value".split(","),function(c,b){c=d.attr(b);if(parseFloat(c))a[b]=parseFloat(c,10)});var z=a.max-a.min,s=a.step=="any"?0:a.step,t=a.precision;if(t===undefined)try{t=s.toString().split(".")[1].length}catch(I){t=0}if(d.attr("type")==
"range"){var w=e("<input/>");e.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(c,b){w.attr(b,d.attr(b))});w.val(a.value);d.replaceWith(w);d=w}d.addClass(p.input);var A=e(g).add(d),D=true;e.extend(g,{getValue:function(){return l},setValue:function(c,b){o();return h(b||e.Event("api"),undefined,c,true)},getConf:function(){return a},getProgress:function(){return B},getHandle:function(){return m},getInput:function(){return d},step:function(c,
b){b=b||e.Event();var f=a.step=="any"?1:a.step;g.setValue(l+f*(c||1),b)},stepUp:function(c){return g.step(c||1)},stepDown:function(c){return g.step(-c||-1)}});e.each("onSlide,change".split(","),function(c,b){e.isFunction(a[b])&&e(g).bind(b,a[b]);g[b]=function(f){f&&e(g).bind(b,f);return g}});m.drag({drag:false}).bind("dragStart",function(){o();D=C(e(g))||C(d)}).bind("drag",function(c,b,f){if(d.is(":disabled"))return false;h(c,n?b:f)}).bind("dragEnd",function(c){if(!c.isDefaultPrevented()){c.type=
"change";A.trigger(c,[l])}}).click(function(c){return c.preventDefault()});i.click(function(c){if(d.is(":disabled")||c.target==m[0])return c.preventDefault();o();var b=m.width()/2;h(c,n?k-u-b+c.pageY:c.pageX-u-b)});a.keyboard&&d.keydown(function(c){if(!d.attr("readonly")){var b=c.keyCode,f=e([75,76,38,33,39]).index(b)!=-1,j=e([74,72,40,34,37]).index(b)!=-1;if((f||j)&&!(c.shiftKey||c.altKey||c.ctrlKey)){if(f)g.step(b==33?10:1,c);else if(j)g.step(b==34?-10:-1,c);return c.preventDefault()}}});d.blur(function(c){var b=
e(this).val();b!==l&&g.setValue(b,c)});e.extend(d[0],{stepUp:g.stepUp,stepDown:g.stepDown});v();k||e(window).load(v)}e.tools=e.tools||{version:"1.2.5"};var E;E=e.tools.rangeinput={conf:{min:0,max:100,step:"any",steps:0,value:0,precision:undefined,vertical:0,keyboard:true,progress:false,speed:100,css:{input:"range",slider:"slider",progress:"progress",handle:"handle"}}};var x,y;e.fn.drag=function(d){document.ondragstart=function(){return false};d=e.extend({x:true,y:true,drag:true},d);x=x||e(document).bind("mousedown mouseup",
function(a){var h=e(a.target);if(a.type=="mousedown"&&h.data("drag")){var o=h.position(),v=a.pageX-o.left,g=a.pageY-o.top,p=true;x.bind("mousemove.drag",function(i){var n=i.pageX-v;i=i.pageY-g;var l={};if(d.x)l.left=n;if(d.y)l.top=i;if(p){h.trigger("dragStart");p=false}d.drag&&h.css(l);h.trigger("drag",[i,n]);y=h});a.preventDefault()}else try{y&&y.trigger("dragEnd")}finally{x.unbind("mousemove.drag");y=null}});return this.data("drag",true)};e.expr[":"].range=function(d){var a=d.getAttribute("type");
return a&&a=="range"||!!e(d).filter("input").data("rangeinput")};e.fn.rangeinput=function(d){if(this.data("rangeinput"))return this;d=e.extend(true,{},E.conf,d);var a;this.each(function(){var h=new G(e(this),e.extend(true,{},d));h=h.getInput().data("rangeinput",h);a=a?a.add(h):h});return a?a:this}})(jQuery);
(function(e){function t(a,b,c){var k=a.offset().top,f=a.offset().left,l=c.position.split(/,?\s+/),p=l[0];l=l[1];k-=b.outerHeight()-c.offset[0];f+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))k-=e(window).scrollTop();c=b.outerHeight()+a.outerHeight();if(p=="center")k+=c/2;if(p=="bottom")k+=c;a=a.outerWidth();if(l=="center")f-=(a+b.outerWidth())/2;if(l=="left")f-=a;return{top:k,left:f}}function y(a){function b(){return this.getAttribute("type")==a}b.key="[type="+a+"]";return b}function u(a,
b,c){function k(g,d,i){if(!(!c.grouped&&g.length)){var j;if(i===false||e.isArray(i)){j=h.messages[d.key||d]||h.messages["*"];j=j[c.lang]||h.messages["*"].en;(d=j.match(/\$\d/g))&&e.isArray(i)&&e.each(d,function(m){j=j.replace(this,i[m])})}else j=i[c.lang]||i;g.push(j)}}var f=this,l=b.add(f);a=a.not(":button, :image, :reset, :submit");e.extend(f,{getConf:function(){return c},getForm:function(){return b},getInputs:function(){return a},reflow:function(){a.each(function(){var g=e(this),d=g.data("msg.el");
if(d){g=t(g,d,c);d.css({top:g.top,left:g.left})}});return f},invalidate:function(g,d){if(!d){var i=[];e.each(g,function(j,m){j=a.filter("[name='"+j+"']");if(j.length){j.trigger("OI",[m]);i.push({input:j,messages:[m]})}});g=i;d=e.Event()}d.type="onFail";l.trigger(d,[g]);d.isDefaultPrevented()||q[c.effect][0].call(f,g,d);return f},reset:function(g){g=g||a;g.removeClass(c.errorClass).each(function(){var d=e(this).data("msg.el");if(d){d.remove();e(this).data("msg.el",null)}}).unbind(c.errorInputEvent||
"");return f},destroy:function(){b.unbind(c.formEvent+".V").unbind("reset.V");a.unbind(c.inputEvent+".V").unbind("change.V");return f.reset()},checkValidity:function(g,d){g=g||a;g=g.not(":disabled");if(!g.length)return true;d=d||e.Event();d.type="onBeforeValidate";l.trigger(d,[g]);if(d.isDefaultPrevented())return d.result;var i=[];g.not(":radio:not(:checked)").each(function(){var m=[],n=e(this).data("messages",m),v=r&&n.is(":date")?"onHide.v":c.errorInputEvent+".v";n.unbind(v);e.each(w,function(){var o=
this,s=o[0];if(n.filter(s).length){o=o[1].call(f,n,n.val());if(o!==true){d.type="onBeforeFail";l.trigger(d,[n,s]);if(d.isDefaultPrevented())return false;var x=n.attr(c.messageAttr);if(x){m=[x];return false}else k(m,s,o)}}});if(m.length){i.push({input:n,messages:m});n.trigger("OI",[m]);c.errorInputEvent&&n.bind(v,function(o){f.checkValidity(n,o)})}if(c.singleError&&i.length)return false});var j=q[c.effect];if(!j)throw'Validator: cannot find effect "'+c.effect+'"';if(i.length){f.invalidate(i,d);return false}else{j[1].call(f,
g,d);d.type="onSuccess";l.trigger(d,[g]);g.unbind(c.errorInputEvent+".v")}return true}});e.each("onBeforeValidate,onBeforeFail,onFail,onSuccess".split(","),function(g,d){e.isFunction(c[d])&&e(f).bind(d,c[d]);f[d]=function(i){i&&e(f).bind(d,i);return f}});c.formEvent&&b.bind(c.formEvent+".V",function(g){if(!f.checkValidity(null,g))return g.preventDefault()});b.bind("reset.V",function(){f.reset()});a[0]&&a[0].validity&&a.each(function(){this.oninvalid=function(){return false}});if(b[0])b[0].checkValidity=
f.checkValidity;c.inputEvent&&a.bind(c.inputEvent+".V",function(g){f.checkValidity(e(this),g)});a.filter(":checkbox, select").filter("[required]").bind("change.V",function(g){var d=e(this);if(this.checked||d.is("select")&&e(this).val())q[c.effect][1].call(f,d,g)});var p=a.filter(":radio").change(function(g){f.checkValidity(p,g)});e(window).resize(function(){f.reflow()})}e.tools=e.tools||{version:"1.2.5"};var z=/\[type=([a-z]+)\]/,A=/^-?[0-9]*(\.[0-9]+)?$/,r=e.tools.dateinput,B=/^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$/i,
C=/^(https?:\/\/)?[\da-z\.\-]+\.[a-z\.]{2,6}[#&+_\?\/\w \.\-=]*$/i,h;h=e.tools.validator={conf:{grouped:false,effect:"default",errorClass:"invalid",inputEvent:null,errorInputEvent:"keyup",formEvent:"submit",lang:"en",message:"<div/>",messageAttr:"data-message",messageClass:"error",offset:[0,0],position:"center right",singleError:false,speed:"normal"},messages:{"*":{en:"Please correct this value"}},localize:function(a,b){e.each(b,function(c,k){h.messages[c]=h.messages[c]||{};h.messages[c][a]=k})},
localizeFn:function(a,b){h.messages[a]=h.messages[a]||{};e.extend(h.messages[a],b)},fn:function(a,b,c){if(e.isFunction(b))c=b;else{if(typeof b=="string")b={en:b};this.messages[a.key||a]=b}if(b=z.exec(a))a=y(b[1]);w.push([a,c])},addEffect:function(a,b,c){q[a]=[b,c]}};var w=[],q={"default":[function(a){var b=this.getConf();e.each(a,function(c,k){c=k.input;c.addClass(b.errorClass);var f=c.data("msg.el");if(!f){f=e(b.message).addClass(b.messageClass).appendTo(document.body);c.data("msg.el",f)}f.css({visibility:"hidden"}).find("p").remove();
e.each(k.messages,function(l,p){e("<p/>").html(p).appendTo(f)});f.outerWidth()==f.parent().width()&&f.add(f.find("p")).css({display:"inline"});k=t(c,f,b);f.css({visibility:"visible",position:"absolute",top:k.top,left:k.left}).fadeIn(b.speed)})},function(a){var b=this.getConf();a.removeClass(b.errorClass).each(function(){var c=e(this).data("msg.el");c&&c.css({visibility:"hidden"})})}]};e.each("email,url,number".split(","),function(a,b){e.expr[":"][b]=function(c){return c.getAttribute("type")===b}});
e.fn.oninvalid=function(a){return this[a?"bind":"trigger"]("OI",a)};h.fn(":email","Please enter a valid email address",function(a,b){return!b||B.test(b)});h.fn(":url","Please enter a valid URL",function(a,b){return!b||C.test(b)});h.fn(":number","Please enter a numeric value.",function(a,b){return A.test(b)});h.fn("[max]","Please enter a value smaller than $1",function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("max");return parseFloat(b)<=parseFloat(a)?true:[a]});h.fn("[min]","Please enter a value larger than $1",
function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("min");return parseFloat(b)>=parseFloat(a)?true:[a]});h.fn("[required]","Please complete this mandatory field.",function(a,b){if(a.is(":checkbox"))return a.is(":checked");return!!b});h.fn("[pattern]",function(a){var b=new RegExp("^"+a.attr("pattern")+"$");return b.test(a.val())});e.fn.validator=function(a){var b=this.data("validator");if(b){b.destroy();this.removeData("validator")}a=e.extend(true,{},h.conf,a);if(this.is("form"))return this.each(function(){var c=
e(this);b=new u(c.find(":input"),c,a);c.data("validator",b)});else{b=new u(this,this.eq(0).closest("form"),a);return this.data("validator",b)}}})(jQuery);
jQuery(document).ready(function() {
jQuery("#nop_date").dateinput({
format: 'yyyy-mm-dd',
firstDay: 1
});
jQuery("#nop_time").AnyTime_picker({
format: "%H:%i",
labelTitle: "Zeit",
labelHour: "Stunde",
labelMinute: "Minute"
});
});
<html>
<head>
<title>Now Playing &mdash; Radio Helsinki - Freies Radio Graz</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<script type="text/javascript" src="/nop/static/jquery-1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="/nop/static/jquerytools-1.2.5/jquery.tools.min.js"></script>
<script type="text/javascript" src="/nop/static/anytimec.js"></script>
<script type="text/javascript" src="/nop/static/nowplaying_form.js"></script>
<link rel="stylesheet" type="text/css" href="/nop/static/dateinput.css"/>
<link rel="stylesheet" type="text/css" href="/nop/static/anytimec.css"/>
</head>
<body>
<div id="content-main" class="show-detail">
<form action="/nop" method="get">
{{ form.as_table }}
<input type="submit" value="senden" />
</form>
{% if nowplaying %}
<ul class="nowplaying">
{% for track in nowplaying %}
<li>
{% if track.start or track.show %}
<span class="meta">
{% if track.start %}{{track.start}}{% endif %}
{% if track.start and track.show %},{% endif %}
{% if track.show %}Sendung {{track.show}}{% endif %}
{% if track.artist or track.title or track.album %}:{% endif %}
</span><br />
{% endif %}
{% if track.artist %}
<span class="artist">{{track.artist}}</span>
{% endif %}
<span class="track">
{% if track.artist and track.title or track.artist and track.album %}|{% endif %}
{% if track.title %}{{track.title}}{% endif %}
{% if track.title and track.album %}|{% endif %}
{% if track.album %}{{track.album}}{% endif %}
</span>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
</body>
</html>
# -*- coding: utf-8 -*-
from django.conf.urls import url
from django.views.static import serve
from .views import get, get_current, nop_form
import os
NOP_SITE_MEDIA = os.path.join(os.path.dirname(__file__), 'site_media')
urlpatterns = [
url(r'^get_current/?$', get_current),
url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<hour>\d{1,2})/(?P<minute>\d{1,2})/?$', get),
url(r'^$', nop_form),
url(r'^static/(?P<path>.*)$', serve, {'document_root': NOP_SITE_MEDIA}),
]
\ No newline at end of file
# -*- coding: utf-8 -*-
from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
from django.shortcuts import render_to_response
from django.http import HttpResponse
from django import forms
from .models import Master, Standby, State
from program.models import TimeSlot
import json
import time
from datetime import datetime
DB = 'nop'
class NopForm(forms.Form):
date = forms.DateField(
required=True,
widget=forms.DateInput(
format='%Y-%m-%d',
attrs={'id': 'nop_date', 'class': 'date'}))
time = forms.TimeField(
required=True,
widget=forms.TimeInput(
format='%H:%M',
attrs={'id': 'nop_time', 'class': 'date'}))
def _dtstring(dt):
return time.strftime('%Y-%m-%d %H:%M', dt)
def _which(timestamp=None):
if timestamp:
res = State.objects.using(DB).filter(timestamp__lt=timestamp)[0]
else:
res = State.objects.using(DB).all()[0]
if not res or res.state == 'master':
return Master
else:
return Standby
def _get_show(datetime=None):
try:
if datetime:
timeslot = TimeSlot.objects.get(start__lte=datetime,
end__gt=datetime)
else:
timeslot = TimeSlot.objects.get_or_create_current()
except (ObjectDoesNotExist, MultipleObjectsReturned):
return {'start': None, 'id': None, 'name': None}
else:
try:
note = timeslot.note
except ObjectDoesNotExist:
note = None
return {'start': _dtstring(timeslot.start.timetuple()),
'id': timeslot.show.id,
'name': timeslot.show.name,
'note': note}
def _current():
artist = None
title = None
album = None
show = _get_show()
if show['id'] in settings.MUSIKPROG_IDS \
or (show['id'] in settings.SPECIAL_PROGRAM_IDS and not show['note']):
result = _which().objects.using(DB).filter(carttype__exact='pool')[0]
artist = result.artist
title = result.title
album = result.album
return {'show': show['name'],
'start': show['start'],
'artist': artist,
'title': title,
'album': album}
def _bydate(year=None, month=None, day=None, hour=None, minute=None):
show = _get_show(datetime(year, month, day, hour, minute))
if show['id'] and show['id'] not in settings.MUSIKPROG_IDS:
return [{'show': show['name'],
'start': show['start'],
'artist': None,
'title': None,
'album': None}]
else:
ts = int(time.mktime((int(year), int(month), int(day), int(hour),
int(minute), 0, 0, 0, -1))) * 1000000
result = _which(ts).objects.using(DB).filter(carttype__exact='pool').filter(timestamp__lt=ts)[:5]
return [{'show': show['name'],
'start': _dtstring(time.localtime(item.timestamp//1000000)),
'artist': item.artist,
'title': item.title,
'album': item.album} for item in result]
def get_current(request):
response = json.dumps(_current())
return HttpResponse(response, content_type='application/json')
def get(request, year=None, month=None, day=None, hour=None, minute=None):
response = json.dumps(_bydate(year, month, day, hour, minute))
return HttpResponse(response, content_type='application/json')
def nop_form(request):
context = {}
date = None
time = None
if request.method == 'GET' \
and ('date' in request.GET or 'time' in request.GET):
form = NopForm(request.GET)
if form.is_valid():
date = form.cleaned_data['date']
time = form.cleaned_data['time']
else:
form = NopForm(initial={'date': datetime.date(datetime.now()),
'time': datetime.time(datetime.now())})
if not date:
date = datetime.date(datetime.now())
if not time:
time = datetime.time(datetime.now())
result = _bydate(date.year, date.month, date.day, time.hour, time.minute)
context['nowplaying'] = result
context['form'] = form
return render_to_response('nop_form.html', context)
\ No newline at end of file
...@@ -30,11 +30,10 @@ ALLOWED_HOSTS = ['127.0.0.1', 'localhost'] ...@@ -30,11 +30,10 @@ ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
# Whitelist IPs that access the API # Whitelist IPs that access the API
CORS_ORIGIN_WHITELIST = ( CORS_ORIGIN_WHITELIST = (
'http://localhost', 'http://localhost',
'http://localhost:8080' 'http://localhost:8080'
) )
# Define which database backend to use for our apps # Define which database backend to use for our apps
DATABASES = { DATABASES = {
# SQLITE # SQLITE
...@@ -43,30 +42,21 @@ DATABASES = { ...@@ -43,30 +42,21 @@ DATABASES = {
'NAME': os.path.join(PROJECT_DIR, 'dev_data.sqlite'), 'NAME': os.path.join(PROJECT_DIR, 'dev_data.sqlite'),
}, },
""" # PostgreSQL
'default': { # 'default': {
'ENGINE': 'django.db.backends.postgresql', # 'ENGINE': 'django.db.backends.postgresql',
'OPTIONS': { # 'OPTIONS': {
'read_default_file': os.path.join(PROJECT_DIR, 'postgresql.cnf'), # 'read_default_file': os.path.join(PROJECT_DIR, 'postgresql.cnf'),
}, # },
}, # },
"""
"""
# MySQL # MySQL
'default': { # 'default': {
'ENGINE': 'django.db.backends.mysql', # 'ENGINE': 'django.db.backends.mysql',
'OPTIONS': { # 'OPTIONS': {
'read_default_file': os.path.join(PROJECT_DIR, 'mysql.cnf'), # 'read_default_file': os.path.join(PROJECT_DIR, 'mysql.cnf'),
}, # },
}, # },
"""
# Deprecated
'nop': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(PROJECT_DIR, 'dev_nop.sqlite'),
},
} }
...@@ -130,7 +120,6 @@ INSTALLED_APPS = ( ...@@ -130,7 +120,6 @@ INSTALLED_APPS = (
'django.contrib.admin', 'django.contrib.admin',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'program', 'program',
'nop', # Deprecated
'profile', 'profile',
'tinymce', 'tinymce',
'versatileimagefield', 'versatileimagefield',
...@@ -145,13 +134,13 @@ INSTALLED_APPS = ( ...@@ -145,13 +134,13 @@ INSTALLED_APPS = (
# Will apply to all uploaded images # Will apply to all uploaded images
THUMBNAIL_SIZES = ['640x480', '200x200', '150x150'] THUMBNAIL_SIZES = ['640x480', '200x200', '150x150']
#TINYMCE_JS_URL = '/static/js/tiny_mce/tiny_mce.js' # TINYMCE_JS_URL = '/static/js/tiny_mce/tiny_mce.js'
TINYMCE_DEFAULT_CONFIG = { TINYMCE_DEFAULT_CONFIG = {
#'plugins': 'contextmenu', # 'plugins': 'contextmenu',
'selector': 'textarea', 'selector': 'textarea',
'theme': 'advanced', 'theme': 'advanced',
'theme_advanced_toolbar_location': 'top', 'theme_advanced_toolbar_location': 'top',
'theme_advanced_buttons1' : 'bold,italic,underline,separator,bullist,numlist,separator,link,unlink,separator,undo,redo,separator,formatselect', 'theme_advanced_buttons1': 'bold,italic,underline,separator,bullist,numlist,separator,link,unlink,separator,undo,redo,separator,formatselect',
'theme_advanced_blockformats': 'p,h1,h2,h3,blockquote', 'theme_advanced_blockformats': 'p,h1,h2,h3,blockquote',
'theme_advanced_font_sizes': '14px,16px', 'theme_advanced_font_sizes': '14px,16px',
'cleanup_on_startup': True, 'cleanup_on_startup': True,
...@@ -159,7 +148,6 @@ TINYMCE_DEFAULT_CONFIG = { ...@@ -159,7 +148,6 @@ TINYMCE_DEFAULT_CONFIG = {
'height': 400, 'height': 400,
} }
# When generating schedules/timeslots: # When generating schedules/timeslots:
# If until date wasn't set manually, add x days to the start date # If until date wasn't set manually, add x days to the start date
AUTO_SET_UNTIL_DATE_TO_DAYS_IN_FUTURE = 365 AUTO_SET_UNTIL_DATE_TO_DAYS_IN_FUTURE = 365
...@@ -185,23 +173,12 @@ CBA_AJAX_URL = CBA_URL + '/wp-admin/admin-ajax.php' ...@@ -185,23 +173,12 @@ CBA_AJAX_URL = CBA_URL + '/wp-admin/admin-ajax.php'
# URL to CBA's REST API with trailing slash # URL to CBA's REST API with trailing slash
CBA_REST_API_URL = CBA_URL + '/wp-json/wp/v2/' CBA_REST_API_URL = CBA_URL + '/wp-json/wp/v2/'
# OIDC Provider Settings # OIDC Provider Settings
USE_TZ = True # django-oidc-provider needs timezones in database USE_TZ = True # django-oidc-provider needs timezones in database
LOGIN_URL = '/admin/login/' # Login page OIDC redirects to LOGIN_URL = '/admin/login/' # Login page OIDC redirects to
OIDC_EXTRA_SCOPE_CLAIMS = 'pv.oidc_provider_settings.AuraScopeClaims' OIDC_EXTRA_SCOPE_CLAIMS = 'pv.oidc_provider_settings.AuraScopeClaims'
#WSGI_APPLICATION = 'pv.wsgi.application'; # WSGI_APPLICATION = 'pv.wsgi.application';
# Deprecated
DATABASE_ROUTERS = ['nop.dbrouter.NopRouter']
MUSIKPROG_IDS = (
1, # unmodieriertes musikprogramm
)
SPECIAL_PROGRAM_IDS = ()
try: try:
from .local_settings import * from .local_settings import *
......
...@@ -65,7 +65,6 @@ urlpatterns = [ ...@@ -65,7 +65,6 @@ urlpatterns = [
url(r'^api/v1/program/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', json_day_schedule), url(r'^api/v1/program/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', json_day_schedule),
url(r'^admin/', admin.site.urls), url(r'^admin/', admin.site.urls),
url(r'^program/', include('program.urls')), url(r'^program/', include('program.urls')),
url(r'^nop', include('nop.urls')), # Deprecated
url(r'^api/', include('frapp.urls')), url(r'^api/', include('frapp.urls')),
#url(r'^tinymce/', include('tinymce.urls')), #url(r'^tinymce/', include('tinymce.urls')),
url(r'^export/timeslots_specials.json$', json_timeslots_specials), # Deprecated url(r'^export/timeslots_specials.json$', json_timeslots_specials), # Deprecated
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment