diff --git a/lib/calcms/events.pm b/lib/calcms/events.pm
index ad8a10e..e03d6ea 100644
--- a/lib/calcms/events.pm
+++ b/lib/calcms/events.pm
@@ -183,6 +183,7 @@ sub modify_results {
$result->{rerun} = '' unless defined $result->{rerun};
+ $result->{title} = '' unless defined $result->{title};
if ( $result->{title} =~ /\#(\d+)([a-z])?\s*$/ ) {
$result->{episode} = $1 unless defined $result->{episode};
$result->{rerun} = $2 || '' unless ( $result->{rerun} =~ /\d/ );
@@ -221,7 +222,7 @@ sub modify_results {
$result->{event_uri} .= $result->{series_name};
$result->{event_uri} .= '-' if ( $result->{title} ne '' );
}
- $result->{event_uri} .= $result->{title} if ( $result->{title} ne '' );
+ $result->{event_uri} .= $result->{title} if $result->{title} ne '';
$result->{event_uri} =~ s/\#/Nr./g;
$result->{event_uri} =~ s/\&/und/g;
$result->{event_uri} =~ s/\//\%2f/g;
@@ -611,11 +612,6 @@ sub add_recordings {
return $events;
}
-sub getDateRange {
- my $config = shift;
- $config->{date}->{day_starting_hour};
-}
-
sub getDateQueryConditions {
my $config = shift;
my $params = shift;
@@ -626,28 +622,76 @@ sub getDateQueryConditions {
#date, today, tomorrow, yesterday
my $date = '';
- $date = time::date_cond( $params->{date} ) if ( $params->{date} ne '' );
+ $date = time::date_cond( $params->{date} ) if $params->{date} ne '';
my $from_date = '';
- $from_date = time::date_cond( $params->{from_date} )
- if ( $params->{from_date} ne '' );
+ $from_date = time::date_cond( $params->{from_date} ) if $params->{from_date} ne '';
my $till_date = '';
- $till_date = time::date_cond( $params->{till_date} )
- if ( $params->{till_date} ne '' );
+ $till_date = time::date_cond( $params->{till_date} ) if $params->{till_date} ne '';
my $from_time = '';
- $from_time = time::time_cond( $params->{from_time} )
- if ( $params->{from_time} ne '' );
+ $from_time = time::time_cond( $params->{from_time} ) if $params->{from_time} ne '';
my $till_time = '';
- $till_time = time::time_cond( $params->{till_time} )
- if ( $params->{till_time} ne '' );
+ $till_time = time::time_cond( $params->{till_time} ) if $params->{till_time} ne '';
+
+ my $time = $params->{time};
+ $time = '' unless defined $time;
my $date_range_include = $params->{date_range_include};
+ my $day_starting_hour = $config->{date}->{day_starting_hour};
- #from_time is defined
- if ( ( $params->{from_date} ne '' ) && ( $params->{from_time} ne '' ) ) {
+ if ( $date eq 'today' ) {
+ my $date = time::get_event_date($config);
+ push @$date_conds, ' ( start_date = ? ) ';
+ push @$bind_values, $date;
+ return $date_conds;
+ }
+
+ # given date
+ my $start = time::datetime_cond( $date . 'T00:00:00' );
+ if ( $start ne '' ) {
+ $start = time::add_hours_to_datetime( $start, $day_starting_hour );
+ my $end = time::add_hours_to_datetime( $start, 24 );
+
+ if ( $date_range_include eq '1' ) {
+ push @$date_conds, ' end > ? ';
+ push @$bind_values, $start;
+ } else {
+ push @$date_conds, ' start >= ? ';
+ push @$bind_values, $start;
+ }
+
+ push @$date_conds, ' start < ? ';
+ push @$bind_values, $end;
+ return $date_conds;
+ }
+
+ if ( $time eq 'now' ) {
+ push @$date_conds, qq{
+ (
+ ( unix_timestamp(end) > unix_timestamp(now() ) )
+ and
+ ( unix_timestamp(start) <= unix_timestamp(now() ) )
+ )
+ };
+ return $date_conds;
+ }
+
+ if ( $time eq 'future' ) {
+ push @$date_conds, qq{
+ (
+ ( unix_timestamp(end) > unix_timestamp(now() ) )
+ and
+ ( unix_timestamp(end) - unix_timestamp(now() ) ) < 7*24*3600
+ )
+ };
+ return $date_conds;
+ }
+
+ #from_date and from_time is defined
+ if ( ( $from_date ne '' ) && ( $from_time ne '' ) ) {
my $datetime = time::datetime_cond( $from_date . 'T' . $from_time );
if ( $datetime ne '' ) {
if ( $date_range_include eq '1' ) {
@@ -662,8 +706,8 @@ sub getDateQueryConditions {
}
}
- #till_time is defined
- if ( ( $params->{till_date} ne '' ) && ( $params->{till_time} ne '' ) ) {
+ #till_date and till_time is defined
+ if ( ( $till_date ne '' ) && ( $till_time ne '' ) ) {
my $datetime = time::datetime_cond( $till_date . 'T' . $till_time );
if ( $datetime ne '' ) {
push @$date_conds, ' start < ? ';
@@ -672,119 +716,59 @@ sub getDateQueryConditions {
}
}
- #time is defined
- if ( ( defined $params->{time} )
- && ( $params->{time} ne '' )
- && ( $params->{time} ne 'now' )
- && ( $params->{time} ne 'future' ) )
- {
- my $time = time::time_cond( $params->{time} );
- if ( $time ne '' ) {
- push @$date_conds, ' time(start) = ? ';
- push @$bind_values, $time;
+ # after start of daily broadcast
+ if ( ( $from_date ne '' ) && ( $from_time eq '' ) ) {
+ my $start = time::datetime_cond( $from_date . 'T00:00:00' );
+ $start = time::add_hours_to_datetime( $start, $day_starting_hour );
+
+ if ( $date_range_include eq '1' ) {
+
+ # end is after start
+ push @$date_conds, ' ( end >= ? )';
+ push @$bind_values, $start;
+ } else {
+ push @$date_conds, ' ( start >= ? ) ';
+ push @$bind_values, $start;
}
- return $date_conds;
}
- #event is not over
- elsif ( ( defined $params->{time} ) && ( $params->{time} eq 'now' ) ) {
- push @$date_conds, qq{
- (
- ( unix_timestamp(end) > unix_timestamp(now() ) )
- and
- ( unix_timestamp(start) <= unix_timestamp(now() ) )
- )
- };
- return $date_conds;
- } elsif ( ( defined $params->{time} ) && ( $params->{time} eq 'future' ) ) {
- push @$date_conds, qq{
- (
- ( unix_timestamp(end) > unix_timestamp(now() ) )
- and
- ( unix_timestamp(end) - unix_timestamp(now() ) ) < 7*24*3600
- )
- };
- return $date_conds;
- } elsif ( $date ne '' ) {
- if ( $date eq 'today' ) {
- my $date = time::get_event_date($config);
- if ( $date ne '' ) {
- push @$date_conds, ' ( start_date = ? ) ';
- push @$bind_values, $date;
- }
+ # before end of daily broadcast
+ if ( ( $till_date ne '' ) && ( $till_time eq '' ) ) {
+ my $end = time::datetime_cond( $till_date . 'T00:00:00' );
+ $end = time::add_hours_to_datetime( $end, $day_starting_hour );
+ if ( $date_range_include eq '1' ) {
+ # start is before end
+ push @$date_conds, ' ( start <= ? )';
+ push @$bind_values, $end;
} else {
-
- #push @$date_conds, ' ( start_date = ? ) ';
- #push @$bind_values, $date;
- my $start = time::datetime_cond( $date . 'T00:00:00' );
- if ( $start ne '' ) {
- $start = time::add_hours_to_datetime( $start, $config->{date}->{day_starting_hour} );
- my $end = time::add_hours_to_datetime( $start, 24 );
-
- if ( $date_range_include eq '1' ) {
- push @$date_conds, ' end > ? ';
- push @$bind_values, $start;
- } else {
- push @$date_conds, ' start >= ? ';
- push @$bind_values, $start;
- }
-
- if ( $end ne '' ) {
- push @$date_conds, ' start < ? ';
- push @$bind_values, $end;
- }
- }
+ push @$date_conds, ' ( end <= ? ) ';
+ push @$bind_values, $end;
}
- return $date_conds;
- } else {
- if ( $from_date ne '' ) {
- if ( $date_range_include eq '1' ) {
+ }
- # end is after start
- push @$date_conds, ' ( end_date >= ? )';
- push @$bind_values, $from_date;
- } else {
- push @$date_conds, ' ( start_date >= ? ) ';
- push @$bind_values, $from_date;
- }
+ if ( $params->{weekday} ne '' ) {
+ my $weekday = $params->{weekday};
+ $weekday += 1;
+ $weekday -= 7 if ( $weekday > 7 );
+ push @$date_conds, ' (dayofweek(start)= ?) ';
+ push @$bind_values, $weekday;
+ }
+
+ if ( $params->{archive} eq 'past' ) {
+ my $date = time::get_event_date($config);
+ if ( $date ne '' ) {
+ push @$date_conds, ' ( start < ? ) ';
+ push @$bind_values, $date;
}
- if ( $till_date ne '' ) {
- if ( $date_range_include eq '1' ) {
-
- # start is before end
- push @$date_conds, ' ( start_date <= ? )';
- push @$bind_values, $till_date;
- } else {
- push @$date_conds, ' ( end_date <= ? ) ';
- push @$bind_values, $till_date;
- }
+ }
+ if ( $params->{archive} eq 'future' ) {
+ my $date = time::get_event_date($config);
+ if ( $date ne '' ) {
+ push @$date_conds, ' ( end >= ? ) ';
+ push @$bind_values, $date;
}
-
- if ( $params->{weekday} ne '' ) {
- my $weekday = $params->{weekday};
- $weekday += 1;
- $weekday -= 7 if ( $weekday > 7 );
- push @$date_conds, ' (dayofweek(start_date)= ?) ';
- push @$bind_values, $weekday;
- }
-
- if ( $params->{archive} eq 'past' ) {
- my $date = time::get_event_date($config);
- if ( $date ne '' ) {
- push @$date_conds, ' ( start_date < ? ) ';
- push @$bind_values, $date;
- }
-
- } elsif ( $params->{archive} eq 'future' ) {
- my $date = time::get_event_date($config);
- if ( $date ne '' ) {
- push @$date_conds, ' ( start_date >= ? ) ';
- push @$bind_values, $date;
- }
- }
-
}
return $date_conds;
@@ -1430,21 +1414,33 @@ sub get_by_date_range {
my $end_date = shift;
my $options = shift;
+ my $day_starting_hour = $config->{date}->{day_starting_hour};
+
+ my $start = time::datetime_cond( $start_date . 'T00:00:00' );
+ $start = time::add_hours_to_datetime( $start, $day_starting_hour );
+
+ my $end = time::datetime_cond( $end_date . 'T00:00:00' );
+ $end = time::add_hours_to_datetime( $end, $day_starting_hour );
+
my $conditions = [];
- push @$conditions, 'start_date between ? and ?';
- my $bind_values = [ $start_date, $end_date ];
+ push @$conditions, 'start between ? and ?';
+ my $bind_values = [ $start, $end ];
setDefaultEventConditions( $config, $conditions, $bind_values, $options );
$conditions = join( ' and ', @$conditions );
+ my $select = qq{distinct date(start) 'start_date'};
+ $select = qq{distinct date(DATE_SUB(start, INTERVAL $day_starting_hour HOUR)) 'start_date'} if defined $day_starting_hour;
+
my $query = qq{
- select start_date
+ select $select
from calcms_events
where $conditions
- group by start_date
};
+ #print STDERR Dumper($query);
+
my $events = db::get( $dbh, $query, $bind_values );
return $events;
diff --git a/lib/calcms/time.pm b/lib/calcms/time.pm
index cf79561..6b976f3 100644
--- a/lib/calcms/time.pm
+++ b/lib/calcms/time.pm
@@ -185,6 +185,7 @@ sub datetime_to_utc_datetime{
sub add_hours_to_datetime{
my $datetime=shift;
my $hours=shift;
+ $hours=0 unless defined $hours;
return time_to_datetime(datetime_to_time($datetime)+(3600*$hours));
};
@@ -192,6 +193,7 @@ sub add_hours_to_datetime{
sub add_minutes_to_datetime{
my $datetime=shift;
my $minutes=shift;
+ $minutes=0 unless defined $minutes;
return time_to_datetime(datetime_to_time($datetime)+(60*$minutes));
};
@@ -199,6 +201,7 @@ sub add_minutes_to_datetime{
sub add_days_to_datetime{
my $datetime=shift;
my $days=shift;
+ $days=0 unless defined $days;
my $time=datetime_to_array($datetime);
#print STDERR Dumper($time);
($time->[0], $time->[1], $time->[2]) =Date::Calc::Add_Delta_Days($time->[0]+0, $time->[1]+0, $time->[2]+0, $days);
@@ -208,6 +211,7 @@ sub add_days_to_datetime{
sub add_days_to_date{
my $datetime=shift;
my $days=shift;
+ $days=0 unless defined $days;
my $date=date_to_array($datetime);
($date->[0], $date->[1], $date->[2]) =Date::Calc::Add_Delta_Days($date->[0]+0, $date->[1]+0, $date->[2]+0, $days);
return array_to_date($date);
diff --git a/website/agenda/add_comment.cgi b/website/agenda/add_comment.cgi
index ae773ca..6cc1285 100755
--- a/website/agenda/add_comment.cgi
+++ b/website/agenda/add_comment.cgi
@@ -8,15 +8,15 @@ use Data::Dumper;
use CGI qw(header param Vars escapeHTML uploadInfo cgi_error);
$CGI::POST_MAX=1024 * 100;
-use params;
-use config;
-use db;
-use markup;
-use cache;
-use comments;
-use template;
-use log;
-use time;
+use params();
+use config();
+use db();
+use markup();
+use cache();
+use comments();
+use template();
+use log();
+use time();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/aggregate.cgi b/website/agenda/aggregate.cgi
index 022471a..e91480f 100755
--- a/website/agenda/aggregate.cgi
+++ b/website/agenda/aggregate.cgi
@@ -12,13 +12,13 @@ use CGI qw(header param Vars);
#use Benchmark;
#use Devel::Profiler;
-use db;
-use events;
-use time;
-use aggregator;
-use markup;
-use log;
-use config;
+use db();
+use events();
+use time();
+use aggregator();
+use markup();
+use log();
+use config();
#use params;
#my $r=shift;
diff --git a/website/agenda/cal.cgi b/website/agenda/cal.cgi
index 84b61b3..298e77c 100755
--- a/website/agenda/cal.cgi
+++ b/website/agenda/cal.cgi
@@ -9,10 +9,10 @@ $CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use Data::Dumper;
-use params;
-use config;
-use log;
-use calendar;
+use params();
+use config();
+use log();
+use calendar();
my $r = shift;
diff --git a/website/agenda/category.cgi b/website/agenda/category.cgi
index 1cb2a18..2971875 100755
--- a/website/agenda/category.cgi
+++ b/website/agenda/category.cgi
@@ -8,14 +8,14 @@ use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
-use params;
-use db;
-use markup;
-use cache;
-use log;
-use config;
-use template;
-use project;
+use params();
+use db();
+use markup();
+use cache();
+use log();
+use config();
+use template();
+use project();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/comments.cgi b/website/agenda/comments.cgi
index caeb58d..972dd4a 100755
--- a/website/agenda/comments.cgi
+++ b/website/agenda/comments.cgi
@@ -8,14 +8,15 @@ $CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use Data::Dumper;
-use params;
-use config;
-use comments;
-use db;
-use markup;
-use time;
-use cache;
-use log;
+
+use params();
+use config();
+use comments();
+use db();
+use markup();
+use time();
+use cache();
+use log();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);
diff --git a/website/agenda/css/calcms.css b/website/agenda/css/calcms.css
index 4ccb52a..29359e2 100644
--- a/website/agenda/css/calcms.css
+++ b/website/agenda/css/calcms.css
@@ -273,6 +273,10 @@ a{
#calcms_list .submitted{
}
+#calcms_list h2{
+ clear:none !important;
+}
+
#calcms_list .content img{
border:0;
}
@@ -286,6 +290,7 @@ a{
#calcms_list .content figcaption{
font-size:12px;
margin-left: 1em;
+ max-width:12em;
}
@@ -740,7 +745,7 @@ a#calcms_search_show_details #plus{
#player{
border:0;
padding:0;
- height:3rem;
+ height:5rem;
}
#player:hover{
opacity:0.9;
@@ -842,6 +847,7 @@ div.update, div.update a{
}
#listen_radio iframe{
margin-top:1em;
+ max-width:none;
}
#listen_radio td{
border:0;
diff --git a/website/agenda/events.cgi b/website/agenda/events.cgi
index bf717ea..d23bc57 100755
--- a/website/agenda/events.cgi
+++ b/website/agenda/events.cgi
@@ -1,10 +1,9 @@
#! /usr/bin/perl -w
-use warnings "all";
-
-#no warnings 'redefine';
-#use diagnostics;
use strict;
+use warnings;
+no warnings 'redefine';
+
use Data::Dumper;
#use utf8;
@@ -13,11 +12,11 @@ use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
-use params;
-use config;
-use log;
-use events;
-use time;
+use params();
+use config();
+use log();
+use events();
+use time();
#binmode STDOUT, ":utf8";
binmode STDOUT, ":encoding(UTF-8)";
diff --git a/website/agenda/planung/assign_series.cgi b/website/agenda/planung/assign_series.cgi
index 08458f4..2d38276 100755
--- a/website/agenda/planung/assign_series.cgi
+++ b/website/agenda/planung/assign_series.cgi
@@ -2,26 +2,27 @@
use warnings "all";
use strict;
-use Data::Dumper;
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-use roles;
-use project;
-use studios;
-use events;
-use series;
-use series_schedule;
-use series_events;
-use series_dates;
-use markup;
-use URI::Escape;
-use Encode;
-use localization;
+use Data::Dumper;
+use URI::Escape();
+use Encode();
+
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use roles();
+use project();
+use studios();
+use events();
+use series();
+use series_schedule();
+use series_events();
+use series_dates();
+use markup();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/assignments.cgi b/website/agenda/planung/assignments.cgi
index 5bd1bb4..c75f687 100755
--- a/website/agenda/planung/assignments.cgi
+++ b/website/agenda/planung/assignments.cgi
@@ -4,24 +4,25 @@ use warnings "all";
use strict;
use Data::Dumper;
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-use roles;
-use project;
-use studios;
-use events;
-use series;
-use series_schedule;
-use series_events;
-use series_dates;
-use markup;
-use URI::Escape;
-use Encode;
-use localization;
+use URI::Escape();
+use Encode();
+
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use roles();
+use project();
+use studios();
+use events();
+use series();
+use series_schedule();
+use series_events();
+use series_dates();
+use markup();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/audio_recordings.cgi b/website/agenda/planung/audio_recordings.cgi
index a51573a..8bf83cd 100755
--- a/website/agenda/planung/audio_recordings.cgi
+++ b/website/agenda/planung/audio_recordings.cgi
@@ -6,25 +6,23 @@ use warnings;
use strict;
use Data::Dumper;
-
use CGI::Simple ();
use ModPerl::Util ();
+use Date::Calc();
+use Time::Local();
+use File::Temp();
-use Date::Calc;
-use Time::Local;
-use File::Temp;
-
-use config;
-use log;
-use localization;
-use auth;
-use uac;
-use studios;
-use series;
-use template;
-use audio_recordings;
-use events;
-use time;
+use config();
+use log();
+use localization();
+use auth();
+use uac();
+use studios();
+use series();
+use template();
+use audio_recordings();
+use events();
+use time();
#$|=1;
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/calendar.cgi b/website/agenda/planung/calendar.cgi
old mode 100755
new mode 100644
index a68eeff..8509410
--- a/website/agenda/planung/calendar.cgi
+++ b/website/agenda/planung/calendar.cgi
@@ -3,32 +3,32 @@
use warnings "all";
use strict;
use Data::Dumper;
-use URI::Escape;
-use Encode;
-use utf8;
+use URI::Escape();
+use Encode();
+use utf8();
-use params;
-use config;
-use log;
-use template;
-use calendar;
-use auth;
-use uac;
-use roles;
-use project;
-use studios;
-use events;
-use series;
-use markup;
-use series_dates;
-use studio_timeslot_dates;
-use work_dates;
-use playout;
-use markup;
-use user_settings;
-use localization;
-use DateTime;
-use audio_recordings;
+use params();
+use config();
+use log();
+use template();
+use calendar();
+use auth();
+use uac();
+use roles();
+use project();
+use studios();
+use events();
+use series();
+use markup();
+use series_dates();
+use studio_timeslot_dates();
+use work_dates();
+use playout();
+use markup();
+use user_settings();
+use localization();
+use DateTime();
+use audio_recordings();
binmode STDOUT, ":utf8";
@@ -404,7 +404,7 @@ sub showCalendar {
#print STDERR Dumper($date) if $date->{file}=~/180503/;
#$date->{title}.= 'rms_image: ' .($date->{rms_image}||'').'
' if defined $date->{rms_image};
- $date->{rms_image} = uri_unescape( $date->{rms_image} ) if defined $date->{rms_image};
+ $date->{rms_image} = URI::Escape::uri_unescape( $date->{rms_image} ) if defined $date->{rms_image};
$date->{origStart} = $date->{start};
@@ -490,18 +490,17 @@ sub showCalendar {
# calculate positions and find schedule errors (depending on position)
for my $date ( sort ( keys %$events_by_day ) ) {
- for my $events ( $events_by_day->{$date} ) {
- calc_positions( $events, $cal_options );
- find_errors($events);
- }
+ my $events = $events_by_day->{$date} ;
+ calc_positions( $events, $cal_options );
+ find_errors($events);
}
for my $event (@$events){
next unless defined $event->{uploaded_at};
- print STDERR "uploadAt=$event->{uploaded_at}, playoutModified:$event->{playout_modified_at}, playoutUpdatedAt:$event->{playout_updated_at}\n";
+ #print STDERR "uploadAt=$event->{uploaded_at}, playoutModified:$event->{playout_modified_at}, playoutUpdatedAt:$event->{playout_updated_at}\n";
next if (defined $event->{playout_updated_at}) && ( $event->{uploaded_at} lt $event->{playout_updated_at} );
#print STDERR Dumper($event);
- $event->{upload} ='pending' ;
+ #$event->{upload} ='pending' ;
#$event->{title}.='
pending';
}
@@ -904,7 +903,7 @@ sub calcCalendarTable {
project_id => $project_id,
studio_id => $studio_id,
class => 'time',
- time => sprintf( '%02d', $hour % 24 )
+ 'time' => sprintf( '%02d', $hour % 24 )
};
}
@@ -927,7 +926,7 @@ sub calcCalendarTable {
project_id => -1,
studio_id => -1,
class => 'time now',
- time => $time,
+ 'time' => $time,
};
calc_positions( $events_by_day->{0}, $cal_options );
@@ -1404,9 +1403,7 @@ sub print_event {
$height = '';
}
- my $date = $event->{origStart} || $event->{start} || '';
- $date = $event->{time} if defined $event->{time};
- $date = $event->{date} if defined $event->{date};
+# my $date = $event->{origStart} || $event->{start} || '';
my $content = $event->{content} || '';
if ( $class =~ /schedule/ ) {
@@ -1428,14 +1425,18 @@ sub print_event {
$content = '
found ".(scalar @$dates)." dates\n";
+ print STDERR "found ".(scalar @$dates)." dates\n";
+ my $events=[];
for my $date (@$dates){
- print $date->{start}."\n";
- createEvent($config, $request, $date);
- #return;
+ #print STDERR $date->{start}."\n";
+ push @$events, createEvent($config, $request, $date);
}
+ $params->{created_events} = $events;
+ $params->{created_total} = scalar(@$events);
+ template::process( 'print', $params->{template}, $params );
}
sub createEvent{
@@ -159,7 +169,9 @@ sub createEvent{
return undef unless defined $event;
$event->{start_date} = $event->{start};
- return eventOps::createEvent($request, $event, 'create_event_from_schedule');
+ eventOps::createEvent($request, $event, 'create_event_from_schedule');
+ print STDERR Dumper($date);
+ return $event;
}
@@ -184,7 +196,8 @@ sub check_params {
#numeric values
$checked->{exclude} = 0;
- for my $param ( 'id', 'project_id', 'studio_id', 'series_id' ) {
+ $checked->{duration} = 28;
+ for my $param ( 'id', 'project_id', 'studio_id', 'duration' ) {
if ( ( defined $params->{$param} ) && ( $params->{$param} =~ /^\d+$/ ) ) {
$checked->{$param} = $params->{$param};
}
@@ -196,192 +209,9 @@ sub check_params {
$checked->{studio_id} = -1;
}
- for my $param ( 'date', 'from_date', 'till_date' ) {
- $checked->{$param} = time::check_date( $params->{$param} );
- }
-
$checked->{template} = template::check( $params->{template}, 'create_events' );
return $checked;
}
-__DATA__
-
-https://piradio.de/agenda/planung/create_events.cgi?project_id=1&studio_id=1&from_date=2016-09-01&till_date=2016-10-01
-
-sub show_events2 {
- my $config = shift;
- my $request = shift;
-
- my $params = $request->{params}->{checked};
- my $permissions = $request->{permissions};
- unless ( $permissions->{assign_series_events} == 1 ) {
- uac::permissions_denied('assign_series_events');
- return;
- }
-
- #print STDERR Dumper($params);
- #print ''.Dumper($eventsByStart);
- #return;
-
- my $scheduleDates = getScheduleDates( $config, $request );
- my $schedulesByStart = getEventsByDate($scheduleDates);
-
- my $events = getEvents( $config, $request );
- my $eventsByStart = getEventsByDate($events);
-
- print "\n";
- for my $date ( sort keys %$schedulesByStart ) {
- my $schedules = $schedulesByStart->{$date};
- my $scheduleCount = scalar(@$schedules);
- if ( $scheduleCount == 0 ) {
- print "skip datetime $date, no schedule found\n";
- next;
- }
- if ( $scheduleCount > 1 ) {
- print "skip datetime $date, $scheduleCount schedules found\n";
- next;
- }
- my $schedule = $schedules->[0];
-
- if ( defined $eventsByStart->{$date} ) {
- my $events = $eventsByStart->{$date};
- my $eventCount = scalar(@$events);
- if ( $eventCount > 0 ) {
- print "skip datetime $date, $eventCount events already exist\n";
- next;
- }
- }
- print "found schedule without event for $date" . " - " . $schedule->{series_name} . " - " . $schedule->{title} . "\n";
-
- #createEvent($config, $request, $schedule);
- }
-}
-
-# get a list of events with given start datetime
-sub getEventsByDate {
- my $events = shift;
-
- my $eventsByDate = {};
- for my $event (@$events) {
- my $startDate = $event->{start};
- push @{ $eventsByDate->{$startDate} }, $event;
- }
- return $eventsByDate;
-}
-
-sub getScheduleDates {
- my $config = shift;
- my $request = shift;
-
- my $params = $request->{params}->{checked};
- my $permissions = $request->{permissions};
-
- my $options = {};
-
- my $from = $params->{from_date};
- my $till = $params->{till_date};
- my $project_id = $params->{project_id};
- my $studio_id = $params->{studio_id};
-
- #build series filter
- $options = {
- project_id => $project_id,
- studio_id => $studio_id,
- from => $from,
- till => $till,
- date_range_include => 1,
- exclude => 0
- };
-
- #get all series dates
- my $series_dates = series_dates::get_series( $config, $options );
- return $series_dates;
-}
-
-sub getEvents {
- my $config = shift;
- my $request = shift;
-
- my $params = $request->{params}->{checked};
- my $permissions = $request->{permissions};
-
- my $options = {};
-
- my $from = $params->{from_date};
- my $till = $params->{till_date};
- my $project_id = $params->{project_id};
- my $studio_id = $params->{studio_id};
-
- #build event filter
- $options = {
- project_id => $project_id,
- template => 'no',
- limit => 600,
- get => 'no_content',
- from_date => $from,
- till_date => $till,
- date_range_include => 1,
- archive => 'all',
- #exclude_locations => '1',
- };
-
- my $events = getSeriesEvents( $config, $request, $options, $params );
- return $events;
-}
-
-sub getSeriesEvents {
- my $config = shift;
- my $request = shift;
- my $options = shift;
- my $params = shift;
-
- #get events by series id
- my $series_id = $request->{params}->{checked}->{series_id};
- if ( defined $series_id ) {
- my $events = series::get_events( $request->{config}, $options );
- return $events;
- }
-
- #get events (directly from database to get the ones, not assigned, yet)
- delete $options->{studio_id};
- delete $options->{project_id};
-
- my $request2 = {
- params => {
- checked => events::check_params( $config, $options )
- },
- config => $request->{config},
- permissions => $request->{permissions}
- };
- $request2->{params}->{checked}->{published} = 'all';
-
- #$request2->{params}->{checked}->{exclude_locations} = 1;
- #delete $request2->{params}->{checked}->{locations_to_exclude}
- # if ( ( $params->{studio_id} == -1 ) && ( defined $request2->{params}->{checked}->{locations_to_exclude} ) );
-
- my $events = events::get( $config, $request2 );
-
- #print STDERR Dumper($request2->{params}->{checked});
- #print STDERR Dumper($events);
- series::add_series_ids_to_events( $request->{config}, $events );
-
- my $studios = studios::get(
- $request->{config},
- {
- project_id => $options->{project_id}
- }
- );
- my $studio_id_by_location = {};
- for my $studio (@$studios) {
- $studio_id_by_location->{ $studio->{location} } = $studio->{id};
- }
-
- for my $event (@$events) {
- $event->{project_id} = $options->{project_id} unless defined $event->{project_id};
- $event->{studio_id} = $studio_id_by_location->{ $event->{location} } unless defined $event->{studio_id};
- }
-
- return $events;
-}
diff --git a/website/agenda/planung/error_log.cgi b/website/agenda/planung/error_log.cgi
index 31a3de9..ea761cd 100755
--- a/website/agenda/planung/error_log.cgi
+++ b/website/agenda/planung/error_log.cgi
@@ -3,19 +3,17 @@
use warnings "all";
use strict;
use Data::Dumper;
-use HTML::Template;
+use HTML::Template();
-#use URI::Escape;
-#use Encode;
+use config();
+use log();
+use template();
+use params();
+use config();
+use auth();
+use localization();
+use studios();
-use config;
-use log;
-use template;
-use params;
-use config;
-use auth;
-use localization;
-use studios;
binmode STDOUT, ":utf8";
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);
diff --git a/website/agenda/planung/event.cgi b/website/agenda/planung/event.cgi
index be6cf6a..8268644 100755
--- a/website/agenda/planung/event.cgi
+++ b/website/agenda/planung/event.cgi
@@ -1,34 +1,36 @@
#! /usr/bin/perl -w
-use warnings "all";
use strict;
-use URI::Escape;
-use Encode;
-use Data::Dumper;
-use MIME::Base64;
-use Encode::Locale;
+use warnings;
+no warnings 'redefine';
-use params;
-use config;
-use log;
-use template;
-use db;
-use auth;
-use uac;
+use URI::Escape();
+use Encode();
+use Data::Dumper;
+use MIME::Base64();
+use Encode::Locale();
+
+use params();
+use config();
+use log();
+use template();
+use db();
+use auth();
+use uac();
#use roles;
-use time;
-use markup;
-use project;
-use studios;
-use events;
-use series;
-use series_dates;
-use series_events;
-use user_stats;
-use localization;
-use eventOps;
-use images;
+use time();
+use markup();
+use project();
+use studios();
+use events();
+use series();
+use series_dates();
+use series_events();
+use user_stats();
+use localization();
+use eventOps();
+use images();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/event_history.cgi b/website/agenda/planung/event_history.cgi
index fb729df..1dcae56 100755
--- a/website/agenda/planung/event_history.cgi
+++ b/website/agenda/planung/event_history.cgi
@@ -2,33 +2,28 @@
use warnings "all";
use strict;
-use URI::Escape;
-use Encode;
+
+use URI::Escape();
+use Encode();
use Data::Dumper;
-use MIME::Base64;
+use MIME::Base64();
+use Text::Diff::FormattedHTML();
-#use Text::Diff ();
-use Text::Diff::FormattedHTML;
+use params();
+use config();
+use log();
+use template();
+use db();
+use auth();
+use uac();
+use time();
+use markup();
+use studios();
+use event_history();
+use events();
+use series_events();
+use localization();
-use params;
-use config;
-use log;
-use template;
-use db;
-use auth;
-use uac;
-
-#use roles;
-use time;
-use markup;
-use studios;
-use event_history;
-use events;
-
-#use series;
-#use series_dates;
-use series_events;
-use localization;
binmode STDOUT, ":utf8";
my $r = shift;
diff --git a/website/agenda/planung/help.cgi b/website/agenda/planung/help.cgi
index 261efbe..5eedaba 100755
--- a/website/agenda/planung/help.cgi
+++ b/website/agenda/planung/help.cgi
@@ -2,20 +2,21 @@
use warnings "all";
use strict;
-use Data::Dumper;
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-use roles;
-use studios;
-use markup;
-use URI::Escape;
-use Encode;
-use localization;
+use Data::Dumper;
+use URI::Escape();
+use Encode();
+
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use roles();
+use studios();
+use markup();
+use localization();
#binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/image.cgi b/website/agenda/planung/image.cgi
index 0f83de0..4fc9709 100755
--- a/website/agenda/planung/image.cgi
+++ b/website/agenda/planung/image.cgi
@@ -1,29 +1,31 @@
#! /usr/bin/perl -w
-use warnings "all";
use strict;
+use warnings;
+no warnings 'redefine';
+
use Data::Dumper;
-use File::stat;
-use Time::localtime;
+use File::stat();
+use Time::localtime();
use CGI::Simple;# qw(header param Vars escapeHTML uploadInfo cgi_error);
-use URI::Escape;
+use URI::Escape();
-use time;
-use images;
-use params;
-use config;
-use log;
-use template;
-use db;
-use auth;
-use uac;
-use project;
-use time;
-use markup;
-use studios;
-use series;
-use localization;
+use time();
+use images();
+use params();
+use config();
+use log();
+use template();
+use db();
+use auth();
+use uac();
+use project();
+use time();
+use markup();
+use studios();
+use series();
+use localization();
binmode STDOUT, ":utf8";
@@ -175,7 +177,7 @@ sub show_image {
# put selected image first
$selectedFilename = 'not-found';
if ( defined $selectedImage ) {
- $finalResults = [ $selectedImage ];
+ push @$finalResults, $selectedImage;
$selectedFilename = $selectedImage->{filename};
}
@@ -186,13 +188,13 @@ sub show_image {
$results = $finalResults;
}
- if ( $params->{template} =~ /edit/ ) {
- my $result = $results->[0];
- $result->{missing_licence}=1 if (! defined $result->{licence} ) || ( $result->{licence}!~/\S/);
- $results = [ $result ] ;
- }
+ if ( scalar @$results !=0 ) {
+ if ( $params->{template} =~ /edit/ ) {
+ my $result = $results->[0];
+ $result->{missing_licence}=1 if (! defined $result->{licence} ) || ( $result->{licence}!~/\S/);
+ $results = [ $result ] ;
+ }
- if ( defined $results ) {
$results = modify_results( $results, $permissions, $user, $local_media_url );
}
@@ -202,7 +204,7 @@ sub show_image {
my $template_params = {
'search' => $search,
'images' => $results,
- 'count' => @$results . '',
+ 'count' => scalar @$results,
'projects' => project::get_with_dates($config),
'project_id' => $params->{project_id},
'studio_id' => $params->{studio_id},
@@ -211,8 +213,8 @@ sub show_image {
# print STDERR
$template_params->{loc} = localization::get( $config, { user => $params->{presets}->{user}, file => 'image' } );
- $template_params = uac::set_template_permissions( $permissions, $template_params );
-
+ $template_params= uac::set_template_permissions( $permissions, $template_params );
+ $template_params->{no_results}=1 if scalar @$results==0;
#set global values for update and delete, per image values are evaluated later
$template_params->{allow}->{update_image} =
$template_params->{allow}->{update_image_own} || $template_params->{allow}->{seriesupdate_image_others};
@@ -266,7 +268,7 @@ sub save_image {
my $dbh = db::connect($config);
print STDERR "going to save\n";
- print STDERR Dumper($image);
+ #print STDERR Dumper($image);
my $entries = images::get(
$config,
@@ -321,7 +323,7 @@ sub delete_image {
filename => $params->{delete_image},
};
my $result = images::delete( $dbh, $image );
- print STDERR "delete result=" . Dumper($result);
+ #print STDERR "delete result=" . Dumper($result);
return;
my $action_result = '';
diff --git a/website/agenda/planung/imageUpload.cgi b/website/agenda/planung/imageUpload.cgi
index e7a6236..c9dc52a 100755
--- a/website/agenda/planung/imageUpload.cgi
+++ b/website/agenda/planung/imageUpload.cgi
@@ -9,17 +9,18 @@ use Apache2::Upload;
delete $INC{CGI};
require 'CGI.pm';
-use Date::Calc;
-use Time::Local;
-use Image::Magick;
-use Image::Magick::Square;
-use config;
-use auth;
-use uac;
-use studios;
-use template;
-use images;
+use Date::Calc();
+use Time::Local();
+use Image::Magick();
+use Image::Magick::Square();
+
+use config();
+use auth();
+use uac();
+use studios();
+use template();
+use images();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/js/calendar.js b/website/agenda/planung/js/calendar.js
index b5ccfd2..f59fcf4 100644
--- a/website/agenda/planung/js/calendar.js
+++ b/website/agenda/planung/js/calendar.js
@@ -320,7 +320,7 @@ function getNearestDatetime(){
var distance=Math.abs(delta);
if (distance0 ) return;
- handleSchedule($(this).attr("id"), $(this).attr("date"), event);
+ handleSchedule($(this).attr("id"), $(this).attr("start"), event);
});
//create schedule within studio timeslots
@@ -1031,7 +1031,7 @@ function handleWorktime(id, event){
if (project_id<0) return;
if (studio_id<0) return;
if (schedule_id<0) return;
- var start_date=$(this).attr("date");
+ var start_date=$(this).attr("start");
var url="work_time.cgi?action=show_new_event_from_schedule&project_id="+project_id+"&studio_id="+studio_id+"&schedule_id="+schedule_id+"&start_date="+start_date;
if(event.which==1){
diff --git a/website/agenda/planung/localization.cgi b/website/agenda/planung/localization.cgi
index 012b361..bd312c7 100755
--- a/website/agenda/planung/localization.cgi
+++ b/website/agenda/planung/localization.cgi
@@ -1,15 +1,17 @@
#! /usr/bin/perl -w
-use warnings "all";
use strict;
-use Data::Dumper;
+use warnings;
+no warnings 'redefine';
-use config;
-use params;
-use log;
-use JSON;
-use auth;
-use localization;
+use Data::Dumper;
+use JSON();
+
+use config();
+use params();
+use log();
+use auth();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/notify_events.cgi b/website/agenda/planung/notify_events.cgi
index a70fc31..9a2a187 100755
--- a/website/agenda/planung/notify_events.cgi
+++ b/website/agenda/planung/notify_events.cgi
@@ -2,33 +2,24 @@
use warnings "all";
use strict;
-use URI::Escape;
-use Encode;
+use URI::Escape();
+use Encode();
use Data::Dumper;
+use MIME::Lite();
-#use Text::Diff::FormattedHTML;
-use MIME::Lite;
+use params();
+use config();
+use log();
+use template();
+use db();
+use auth();
+use uac();
+use time();
+use markup();
+use studios();
+use series();
+use localization();
-use params;
-use config;
-use log;
-use template;
-use db;
-use auth;
-use uac;
-
-#use roles;
-use time;
-use markup;
-use studios;
-
-#use event_history;
-#use events;
-use series;
-
-#use series_dates;
-#use series_events;
-use localization;
binmode STDOUT, ":utf8";
my $r = shift;
diff --git a/website/agenda/planung/playout.cgi b/website/agenda/planung/playout.cgi
index f441306..4b491a1 100644
--- a/website/agenda/planung/playout.cgi
+++ b/website/agenda/planung/playout.cgi
@@ -4,26 +4,26 @@ use warnings "all";
use strict;
use Data::Dumper;
-use URI::Escape;
-use Encode;
-use localization;
+use URI::Escape();
+use Encode();
+use localization();
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-use roles;
-use project;
-use studios;
-use events;
-use series;
-use series_schedule;
-use series_events;
-use series_dates;
-use markup;
-use playout;
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use roles();
+use project();
+use studios();
+use events();
+use series();
+use series_schedule();
+use series_events();
+use series_dates();
+use markup();
+use playout();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/projects.cgi b/website/agenda/planung/projects.cgi
index e35234d..71eefff 100755
--- a/website/agenda/planung/projects.cgi
+++ b/website/agenda/planung/projects.cgi
@@ -4,16 +4,16 @@ use warnings "all";
use strict;
use Data::Dumper;
-use config;
-use params;
-use log;
-use template;
-use auth;
-use roles;
-use uac;
-use studios;
-use series;
-use localization;
+use config();
+use params();
+use log();
+use template();
+use auth();
+use roles();
+use uac();
+use studios();
+use series();
+use localization();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);
diff --git a/website/agenda/planung/requestPassword.cgi b/website/agenda/planung/requestPassword.cgi
index 3b99163..79debb6 100644
--- a/website/agenda/planung/requestPassword.cgi
+++ b/website/agenda/planung/requestPassword.cgi
@@ -5,11 +5,11 @@ use strict;
use Data::Dumper;
-use params;
-use config;
-use db;
-use auth;
-use password_requests;
+use params();
+use config();
+use db();
+use auth();
+use password_requests();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/roles.cgi b/website/agenda/planung/roles.cgi
index 71ee003..7c5b246 100755
--- a/website/agenda/planung/roles.cgi
+++ b/website/agenda/planung/roles.cgi
@@ -4,15 +4,16 @@ use warnings "all";
use strict;
use Data::Dumper;
-use config;
-use params;
-use log;
-use template;
-use auth;
-use roles;
-use uac;
-use studios;
-use localization;
+use config();
+use params();
+use log();
+use template();
+use auth();
+use roles();
+use uac();
+use studios();
+use localization();
+
binmode STDOUT, ":utf8";
my $r = shift;
diff --git a/website/agenda/planung/selectEvent.cgi b/website/agenda/planung/selectEvent.cgi
index e862750..0bed64c 100755
--- a/website/agenda/planung/selectEvent.cgi
+++ b/website/agenda/planung/selectEvent.cgi
@@ -4,26 +4,15 @@ use warnings "all";
use strict;
use Data::Dumper;
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
-#use roles;
-#use project;
-#use studios;
-#use events;
-use series;
-
-#use series_schedule;
-#use series_events;
-#use series_dates;
-#use markup;
-#use URI::Escape;
-#use Encode;
-use localization;
+use series();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/selectSeries.cgi b/website/agenda/planung/selectSeries.cgi
index a027fac..df9fe2e 100755
--- a/website/agenda/planung/selectSeries.cgi
+++ b/website/agenda/planung/selectSeries.cgi
@@ -4,14 +4,14 @@ use warnings "all";
use strict;
use Data::Dumper;
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-use series;
-use localization;
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use series();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/series.cgi b/website/agenda/planung/series.cgi
index 17a32b4..ef103f6 100755
--- a/website/agenda/planung/series.cgi
+++ b/website/agenda/planung/series.cgi
@@ -1,28 +1,30 @@
#! /usr/bin/perl -w
-use warnings "all";
use strict;
-use Data::Dumper;
+use warnings;
+no warnings 'redefine';
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-use roles;
-use project;
-use studios;
-use events;
-use series;
-use series_schedule;
-use series_events;
-use series_dates;
-use user_stats;
-use markup;
+use Data::Dumper;
use URI::Escape;
-use Encode;
-use localization;
+use Encode();
+
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use roles();
+use project();
+use studios();
+use events();
+use series();
+use series_schedule();
+use series_events();
+use series_dates();
+use user_stats();
+use markup();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/showImage.cgi b/website/agenda/planung/showImage.cgi
index 2266cd3..e699f64 100644
--- a/website/agenda/planung/showImage.cgi
+++ b/website/agenda/planung/showImage.cgi
@@ -1,30 +1,19 @@
#! /usr/bin/perl -w
-use warnings "all";
use strict;
+use warnings;
+no warnings 'redefine';
+
use Data::Dumper;
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-
-#use roles;
-#use project;
-#use studios;
-#use events;
-#use series;
-use images;
-
-#use series_schedule;
-#use series_events;
-#use series_dates;
-#use markup;
-#use URI::Escape;
-#use Encode;
-use localization;
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use images();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/studio_timeslots.cgi b/website/agenda/planung/studio_timeslots.cgi
index bb5db68..501720d 100755
--- a/website/agenda/planung/studio_timeslots.cgi
+++ b/website/agenda/planung/studio_timeslots.cgi
@@ -2,23 +2,24 @@
use warnings "all";
use strict;
-use Data::Dumper;
-use params;
-use config;
-use log;
-use template;
-use auth;
-use uac;
-use roles;
-use project;
-use studios;
-use studio_timeslot_schedule;
-use studio_timeslot_dates;
-use markup;
-use URI::Escape;
-use Encode;
-use localization;
+use Data::Dumper;
+use URI::Escape();
+use Encode();
+
+use params();
+use config();
+use log();
+use template();
+use auth();
+use uac();
+use roles();
+use project();
+use studios();
+use studio_timeslot_schedule();
+use studio_timeslot_dates();
+use markup();
+use localization();
binmode STDOUT, ":utf8";
diff --git a/website/agenda/planung/studios.cgi b/website/agenda/planung/studios.cgi
index 485d15a..581173f 100755
--- a/website/agenda/planung/studios.cgi
+++ b/website/agenda/planung/studios.cgi
@@ -4,16 +4,16 @@ use warnings "all";
use strict;
use Data::Dumper;
-use config;
-use params;
-use log;
-use template;
-use auth;
-use roles;
-use uac;
-use studios;
-use series;
-use localization;
+use config();
+use params();
+use log();
+use template();
+use auth();
+use roles();
+use uac();
+use studios();
+use series();
+use localization();
my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r);
diff --git a/website/agenda/planung/templates/create_events.html b/website/agenda/planung/templates/create_events.html
index 4784d38..1602aab 100644
--- a/website/agenda/planung/templates/create_events.html
+++ b/website/agenda/planung/templates/create_events.html
@@ -1,65 +1,54 @@
-
+ );
+
-
+function assign_series(project_id, studio_id){
+ if (project_id == '') return false;
+ if (studio_id == '') return false;
- assign series to project and studio
+ var url="create_events.cgi?project_id="+project_id+'&studio_id='+studio_id+'&action=create_events';
+ $('#create_event_form').submit();
+ return false;
+}
+
-
-
-
-
+