create-events.cgi: optionally select series

This commit is contained in:
Milan
2023-03-26 12:48:13 +02:00
parent eb39273413
commit 06f3d86371
5 changed files with 65 additions and 17 deletions

View File

@@ -130,6 +130,7 @@ sub getDates {
my $project_id = $params->{project_id};
my $studio_id = $params->{studio_id};
my $series_id = $params->{series_id};
my $from_date = $params->{from_date};
my $till_date = $params->{till_date};
my $duration = $params->{duration};
@@ -154,13 +155,15 @@ sub getDates {
{
project_id => $project_id,
studio_id => $studio_id,
$series_id ? (series_id => $series_id) : (),
from => $from_date,
till => $till_date
till => $till_date,
}
);
my $series = series::get( $config, {
project_id => $project_id,
studio_id => $studio_id
studio_id => $studio_id,
$series_id ? (series_id => $series_id) : ()
});
my %series_by_id = map { $_->{series_id} => $_ } @$series;
for my $date (@$dates) {
@@ -209,7 +212,7 @@ sub check_params {
$checked->{exclude} = 0;
$checked->{duration} = 28;
entry::set_numbers( $checked, $params, [
'id', 'project_id', 'studio_id', 'duration']);
'id', 'project_id', 'studio_id', 'series_id', 'duration']);
$checked->{"duration".$checked->{duration}}='selected="selected"';
if ( defined $checked->{studio_id} ) {

View File

@@ -0,0 +1,11 @@
@charset "UTF-8";
#content td.label {
max-width: none;
}
#content #seriesContainer {
max-width: 80ch;
overflow:clip;
text-overflow: ellipsis;
}

View File

@@ -0,0 +1,18 @@
function selectChangeSeries(resultSelector){
var url='select-series.cgi?' + new URLSearchParams({
project_id : getProjectId(),
studio_id : getStudioId(),
series_id : getUrlParameter('series_id'),
resultElemId: resultSelector,
selectSeries: 1,
}).toString();
updateContainer('seriesContainer', url, function(){
$('#selectSeries').removeClass('panel');
var series_id = $('input[name=series_id]').val();
if (series_id.length) $("option[value='"+series_id+"']").attr('selected','selected');
});
}
$(document).ready(function() {
selectChangeSeries('select_series_id');
});

View File

@@ -1,17 +1,24 @@
<TMPL_IF .allow.read_event> <script type="text/javascript">
<TMPL_IF .getBack>
$(document).ready(function() {
getBack()
});
</TMPL_IF>
<TMPL_IF .allow.read_event>
<script type="text/javascript">
<TMPL_IF .getBack>
$(document).ready(function() {
getBack()
});
</TMPL_IF>
</script>
<script src="js/create-events.js" type="text/javascript"></script>
<link rel="stylesheet" href="css/create-events.css" type="text/css" />
<script>
var series_id=0;
</script>
<h1>create events from schedule</h1>
<div class="panel">
<form id="create_event_form" method="post">
<input type="hidden" name="project_id"
value="<TMPL_VAR .project_id>"> <input type="hidden"
name="studio_id" value="<TMPL_VAR .studio_id>"> schedule events for
<input type="hidden" name="project_id" value="<TMPL_VAR .project_id>">
<input type="hidden" name="studio_id" value="<TMPL_VAR .studio_id>"> schedule events for
<input type="hidden" id="select_series_id" name="series_id" value="<TMPL_VAR .series_id>"> schedule events for
<select name="duration">
<option value="1" <TMPL_VAR duration1>>today</option>
<option value="7" <TMPL_VAR duration7>>1 week</option>
@@ -21,6 +28,8 @@
<option value="56" <TMPL_VAR duration56>>8 weeks</option>
</select>
<div id="seriesContainer"></div>
<TMPL_IF .allow.read_event>
<button target="_blank" type='submit' name="action" value="show_events">Show schedule</button>
</TMPL_IF>
@@ -45,8 +54,9 @@
</TMPL_LOOP> </view>
</div>
</body>
</html>
</body>
</html>
<TMPL_ELSE> missing permission to read events
<TMPL_ELSE>
missing permission to read events
</TMPL_IF>