assign-series.cgi: unassign series
series cannot only assigned but assigned, too.
This commit is contained in:
@@ -80,6 +80,7 @@ unless ( $permissions->{scan_series_events} == 1 ) {
|
|||||||
|
|
||||||
if ( defined $params->{action} ) {
|
if ( defined $params->{action} ) {
|
||||||
assign_series( $config, $request ) if $params->{action} eq 'assign_series';
|
assign_series( $config, $request ) if $params->{action} eq 'assign_series';
|
||||||
|
unassign_series( $config, $request ) if $params->{action} eq 'unassign_series';
|
||||||
}
|
}
|
||||||
show_events( $config, $request );
|
show_events( $config, $request );
|
||||||
|
|
||||||
@@ -200,12 +201,67 @@ sub assign_series {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub unassign_series {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $entry = {};
|
||||||
|
for my $attr ( 'project_id', 'studio_id', 'series_id' ) {
|
||||||
|
if ( defined $params->{$attr} ) {
|
||||||
|
$entry->{$attr} = $params->{$attr};
|
||||||
|
} else {
|
||||||
|
uac::print_error( $attr . ' not given!' );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$config->{access}->{write} = 1;
|
||||||
|
|
||||||
|
#check if series is assigned to project/studio
|
||||||
|
my $series = series::get(
|
||||||
|
$config,
|
||||||
|
{
|
||||||
|
project_id => $entry->{project_id},
|
||||||
|
studio_id => $entry->{studio_id},
|
||||||
|
series_id => $entry->{series_id},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( @$series > 0 ) {
|
||||||
|
|
||||||
|
# assign series to project/studio
|
||||||
|
project::unassign_series(
|
||||||
|
$config,
|
||||||
|
{
|
||||||
|
project_id => $entry->{project_id},
|
||||||
|
studio_id => $entry->{studio_id},
|
||||||
|
series_id => $entry->{series_id},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
print STDERR
|
||||||
|
"event $entry->{event_id} is not assigned to project $entry->{project_id}, studio $entry->{studio_id}, series $entry->{series_id}\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$config->{access}->{write} = 0;
|
||||||
|
uac::print_info("The show was removed from the series.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sub check_params {
|
sub check_params {
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
|
|
||||||
my $checked = {};
|
my $checked = {};
|
||||||
|
|
||||||
$checked->{action} = entry::element_of( $params->{action}, ['assign_series'] );
|
$checked->{action} = entry::element_of( $params->{action}, ['assign_series','unassign_series'] );
|
||||||
|
|
||||||
$checked->{exclude} = 0;
|
$checked->{exclude} = 0;
|
||||||
entry::set_numbers( $checked, $params, [
|
entry::set_numbers( $checked, $params, [
|
||||||
|
|||||||
@@ -15,10 +15,18 @@
|
|||||||
if (series_id=='')return false;
|
if (series_id=='')return false;
|
||||||
|
|
||||||
$('#assignments_form input[name="series_id"]').val(series_id);
|
$('#assignments_form input[name="series_id"]').val(series_id);
|
||||||
//console.log(project_id+" "+studio_id+" "+series_id);
|
|
||||||
|
|
||||||
var url="assign-series.cgi?project_id="+project_id+'&studio_id='+studio_id+'&series_id='+series_id+'&action=assign_series';
|
var url="assign-series.cgi?project_id="+project_id+'&studio_id='+studio_id+'&series_id='+series_id+'&action=assign_series';
|
||||||
//console.log(url);
|
$('#assignments_form').submit();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function unassign_series(project_id, studio_id, series_id){
|
||||||
|
if (project_id=='')return false;
|
||||||
|
if (studio_id=='')return false;
|
||||||
|
if (series_id=='')return false;
|
||||||
|
|
||||||
|
$('#assignments_form input[name="series_id"]').val(series_id);
|
||||||
|
var url="assign-series.cgi?project_id="+project_id+'&studio_id='+studio_id+'&series_id='+series_id+'&action=unassign_series';
|
||||||
$('#assignments_form').submit();
|
$('#assignments_form').submit();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -54,6 +62,10 @@
|
|||||||
onclick="assign_series('<TMPL_VAR .project_id>', '<TMPL_VAR .studio_id>', $('#series_id').val());return false;"
|
onclick="assign_series('<TMPL_VAR .project_id>', '<TMPL_VAR .studio_id>', $('#series_id').val());return false;"
|
||||||
style="float:left"
|
style="float:left"
|
||||||
>assign</button>
|
>assign</button>
|
||||||
|
<button target="_blank"
|
||||||
|
onclick="unassign_series('<TMPL_VAR .project_id>', '<TMPL_VAR .studio_id>', $('#series_id').val());return false;"
|
||||||
|
style="float:left"
|
||||||
|
>unassign</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user