remove deprecated role model
This commit is contained in:
@@ -1,162 +0,0 @@
|
|||||||
package roles;
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
no warnings 'redefine';
|
|
||||||
|
|
||||||
use Apache2::Reload();
|
|
||||||
|
|
||||||
use config();
|
|
||||||
|
|
||||||
#use base 'Exporter';
|
|
||||||
my @EXPORT_OK = qw(get_user get_user_permissions get_template_parameters get_jobs);
|
|
||||||
|
|
||||||
my $ROLES = {
|
|
||||||
'admin' => {
|
|
||||||
access_events => 1,
|
|
||||||
access_images => 1,
|
|
||||||
access_comments => 1,
|
|
||||||
access_sync => 1,
|
|
||||||
access_system => 1,
|
|
||||||
read_event_all => 1,
|
|
||||||
create_event => 1,
|
|
||||||
delete_event => 1,
|
|
||||||
update_comment => 1,
|
|
||||||
create_image => 1,
|
|
||||||
read_image_own => 1,
|
|
||||||
read_image_all => 1,
|
|
||||||
update_image_own => 1,
|
|
||||||
update_image_all => 1,
|
|
||||||
delete_image_own => 1,
|
|
||||||
delete_image_all => 1,
|
|
||||||
sync_own => 1,
|
|
||||||
sync_all => 1,
|
|
||||||
sync_select_range => 1,
|
|
||||||
upload_playlist => 1,
|
|
||||||
},
|
|
||||||
'dev' => {
|
|
||||||
access_events => 1,
|
|
||||||
access_images => 1,
|
|
||||||
access_comments => 1,
|
|
||||||
access_sync => 1,
|
|
||||||
access_system => 0,
|
|
||||||
read_event_all => 1,
|
|
||||||
create_event => 1,
|
|
||||||
delete_event => 1,
|
|
||||||
update_comment => 1,
|
|
||||||
create_image => 1,
|
|
||||||
read_image_own => 1,
|
|
||||||
read_image_all => 1,
|
|
||||||
update_image_own => 1,
|
|
||||||
update_image_all => 1,
|
|
||||||
delete_image_own => 1,
|
|
||||||
delete_image_all => 1,
|
|
||||||
sync_own => 0,
|
|
||||||
sync_all => 1,
|
|
||||||
sync_select_range => 1,
|
|
||||||
upload_playlist => 1,
|
|
||||||
},
|
|
||||||
'editor' => {
|
|
||||||
access_events => 1,
|
|
||||||
access_images => 1,
|
|
||||||
access_comments => 1,
|
|
||||||
access_sync => 1,
|
|
||||||
access_system => 0,
|
|
||||||
read_event_all => 0,
|
|
||||||
create_event => 1,
|
|
||||||
delete_event => 0,
|
|
||||||
update_comment => 0,
|
|
||||||
create_image => 1,
|
|
||||||
read_image_own => 1,
|
|
||||||
read_image_all => 1,
|
|
||||||
update_image_own => 1,
|
|
||||||
update_image_all => 0,
|
|
||||||
delete_image_own => 1,
|
|
||||||
delete_image_all => 0,
|
|
||||||
sync_own => 1,
|
|
||||||
sync_all => 0,
|
|
||||||
sync_select_range => 0,
|
|
||||||
upload_playlist => 1,
|
|
||||||
},
|
|
||||||
'nobody' => {
|
|
||||||
access_events => 0,
|
|
||||||
access_images => 0,
|
|
||||||
access_comments => 0,
|
|
||||||
access_sync => 0,
|
|
||||||
access_system => 0,
|
|
||||||
read_event_all => 0,
|
|
||||||
create_event => 0,
|
|
||||||
delete_event => 0,
|
|
||||||
update_comment => 0,
|
|
||||||
create_image => 0,
|
|
||||||
read_image_own => 0,
|
|
||||||
read_image_all => 0,
|
|
||||||
update_image_own => 0,
|
|
||||||
update_image_all => 0,
|
|
||||||
delete_image_own => 0,
|
|
||||||
delete_image_all => 0,
|
|
||||||
sync_own => 0,
|
|
||||||
sync_all => 0,
|
|
||||||
sync_select_range => 0,
|
|
||||||
upload_playlist => 0,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
sub get_user($) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
my $user = $ENV{REMOTE_USER};
|
|
||||||
my $users = $config->{users};
|
|
||||||
return $user if defined $users->{$user};
|
|
||||||
return 'nobody';
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_user_permissions($) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
my $user = $ENV{REMOTE_USER} || '';
|
|
||||||
my $roles = $roles::ROLES;
|
|
||||||
return $roles->{nobody} unless $user =~ /\S/;
|
|
||||||
my $users = $config->{users};
|
|
||||||
if ( defined $users->{$user} ) {
|
|
||||||
my $role = $users->{$user};
|
|
||||||
return $roles->{$role} if defined $roles->{$role};
|
|
||||||
}
|
|
||||||
return $roles->{nobody};
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_user_jobs ($;$) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
my $user = $ENV{REMOTE_USER} || '';
|
|
||||||
return [] unless ( $user =~ /\S/ );
|
|
||||||
my $result = [];
|
|
||||||
my $jobs = $config->{jobs}->{job};
|
|
||||||
|
|
||||||
for my $job (@$jobs) {
|
|
||||||
for my $job_user ( split /\,/, $job->{users} ) {
|
|
||||||
push @$result, $job if ( $user eq $job_user );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_jobs($) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
return $config->{jobs}->{job};
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_template_parameters($$) {
|
|
||||||
my $config = shift;
|
|
||||||
my $user_permissions = shift;
|
|
||||||
|
|
||||||
$user_permissions = roles::get_user_permissions($config) unless defined $user_permissions;
|
|
||||||
my @user_permissions = ();
|
|
||||||
for my $usecase ( keys %$user_permissions ) {
|
|
||||||
push @user_permissions, $usecase if $user_permissions->{$usecase} eq '1';
|
|
||||||
}
|
|
||||||
return \@user_permissions;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
@@ -18,7 +18,6 @@ use config();
|
|||||||
use params();
|
use params();
|
||||||
use project();
|
use project();
|
||||||
use log();
|
use log();
|
||||||
use roles();
|
|
||||||
|
|
||||||
#use base 'Exporter';
|
#use base 'Exporter';
|
||||||
our @EXPORT_OK = qw(check process exit_on_missing_permission clear_cache);
|
our @EXPORT_OK = qw(check process exit_on_missing_permission clear_cache);
|
||||||
@@ -45,26 +44,6 @@ sub process($$$$) {
|
|||||||
|
|
||||||
$params->{user} = $ENV{REMOTE_USER} unless defined $params->{user};
|
$params->{user} = $ENV{REMOTE_USER} unless defined $params->{user};
|
||||||
|
|
||||||
my $user_permissions = roles::get_user_permissions($config);
|
|
||||||
for my $permission ( keys %$user_permissions ) {
|
|
||||||
$params->{$permission} = $user_permissions->{$permission}
|
|
||||||
if ( $user_permissions->{$permission} eq '1' );
|
|
||||||
}
|
|
||||||
|
|
||||||
$params->{jobs} = roles::get_user_jobs($config);
|
|
||||||
if ( ( $filename =~ /json\-p/ ) || (params::isJson) ) {
|
|
||||||
my $header = "Content-type:application/json; charset=utf-8\n\n";
|
|
||||||
my $json = JSON->new->pretty(1)->canonical()->encode($params);
|
|
||||||
|
|
||||||
$json = $header . $params->{json_callback} . $json;
|
|
||||||
if ( ( defined $_[1] ) && ( $_[1] eq 'print' ) ) {
|
|
||||||
print $json. "\n";
|
|
||||||
} else {
|
|
||||||
$_[1] = $json . "\n";
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
unless ( -r $filename ) {
|
unless ( -r $filename ) {
|
||||||
log::error( $config, qq{template "$filename" does not exist} ) unless -e $filename;
|
log::error( $config, qq{template "$filename" does not exist} ) unless -e $filename;
|
||||||
log::error( $config, qq{missing permissions to read "$filename"} );
|
log::error( $config, qq{missing permissions to read "$filename"} );
|
||||||
@@ -207,22 +186,5 @@ sub check($;$$) {
|
|||||||
return $template;
|
return $template;
|
||||||
}
|
}
|
||||||
|
|
||||||
#deprecated (for old admin only)
|
|
||||||
sub exit_on_missing_permission($$) {
|
|
||||||
my $config = shift;
|
|
||||||
my $permission = shift;
|
|
||||||
|
|
||||||
my $user_permissions = roles::get_user_permissions($config);
|
|
||||||
if ( $user_permissions->{$permission} ne '1' ) {
|
|
||||||
print STDERR "missing permission to $permission\n";
|
|
||||||
template::process(
|
|
||||||
$config, 'print',
|
|
||||||
template::check( $config, 'default.html' ),
|
|
||||||
{ error => 'sorry, missing permission!' }
|
|
||||||
);
|
|
||||||
die();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#do not delete last line!
|
#do not delete last line!
|
||||||
1;
|
1;
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ use template();
|
|||||||
use calendar();
|
use calendar();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ use db();
|
|||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
|
|
||||||
#use roles;
|
|
||||||
use time();
|
use time();
|
||||||
use markup();
|
use markup();
|
||||||
use project();
|
use project();
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use studios();
|
use studios();
|
||||||
use markup();
|
use markup();
|
||||||
use localization();
|
use localization();
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use params();
|
|||||||
use log();
|
use log();
|
||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use roles();
|
|
||||||
use uac();
|
use uac();
|
||||||
use studios();
|
use studios();
|
||||||
use series();
|
use series();
|
||||||
@@ -26,7 +25,6 @@ my $config = config::get('../config/config.cgi');
|
|||||||
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
||||||
return if ( $user eq '' );
|
return if ( $user eq '' );
|
||||||
|
|
||||||
my $permissions = roles::get_user_permissions($config);
|
|
||||||
my $user_presets = uac::get_user_presets(
|
my $user_presets = uac::get_user_presets(
|
||||||
$config,
|
$config,
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use entry();
|
|||||||
use log();
|
use log();
|
||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use roles();
|
|
||||||
use uac();
|
use uac();
|
||||||
use studios();
|
use studios();
|
||||||
use localization();
|
use localization();
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use studio_timeslot_schedule();
|
use studio_timeslot_schedule();
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use params();
|
|||||||
use log();
|
use log();
|
||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use roles();
|
|
||||||
use uac();
|
use uac();
|
||||||
use studios();
|
use studios();
|
||||||
use series();
|
use series();
|
||||||
@@ -26,7 +25,6 @@ my $config = config::get('../config/config.cgi');
|
|||||||
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
||||||
return if ( $user eq '' );
|
return if ( $user eq '' );
|
||||||
|
|
||||||
my $permissions = roles::get_user_permissions($config);
|
|
||||||
my $user_presets = uac::get_user_presets(
|
my $user_presets = uac::get_user_presets(
|
||||||
$config,
|
$config,
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ use template();
|
|||||||
use auth();
|
use auth();
|
||||||
use entry();
|
use entry();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use params();
|
use params();
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use params();
|
use params();
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use studios();
|
use studios();
|
||||||
use params();
|
use params();
|
||||||
use localization();
|
use localization();
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use work_schedule();
|
use work_schedule();
|
||||||
|
|||||||
Reference in New Issue
Block a user