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 project();
|
||||
use log();
|
||||
use roles();
|
||||
|
||||
#use base 'Exporter';
|
||||
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};
|
||||
|
||||
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 ) {
|
||||
log::error( $config, qq{template "$filename" does not exist} ) unless -e $filename;
|
||||
log::error( $config, qq{missing permissions to read "$filename"} );
|
||||
@@ -207,22 +186,5 @@ sub check($;$$) {
|
||||
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!
|
||||
1;
|
||||
|
||||
@@ -15,7 +15,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use events();
|
||||
|
||||
@@ -14,7 +14,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use events();
|
||||
|
||||
@@ -20,7 +20,6 @@ use template();
|
||||
use calendar();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use events();
|
||||
|
||||
@@ -20,7 +20,6 @@ use db();
|
||||
use auth();
|
||||
use uac();
|
||||
|
||||
#use roles;
|
||||
use time();
|
||||
use markup();
|
||||
use project();
|
||||
|
||||
@@ -14,7 +14,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use studios();
|
||||
use markup();
|
||||
use localization();
|
||||
|
||||
@@ -15,7 +15,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use events();
|
||||
|
||||
@@ -12,7 +12,6 @@ use params();
|
||||
use log();
|
||||
use template();
|
||||
use auth();
|
||||
use roles();
|
||||
use uac();
|
||||
use studios();
|
||||
use series();
|
||||
@@ -26,7 +25,6 @@ my $config = config::get('../config/config.cgi');
|
||||
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
||||
return if ( $user eq '' );
|
||||
|
||||
my $permissions = roles::get_user_permissions($config);
|
||||
my $user_presets = uac::get_user_presets(
|
||||
$config,
|
||||
{
|
||||
|
||||
@@ -12,7 +12,6 @@ use entry();
|
||||
use log();
|
||||
use template();
|
||||
use auth();
|
||||
use roles();
|
||||
use uac();
|
||||
use studios();
|
||||
use localization();
|
||||
|
||||
@@ -16,7 +16,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use events();
|
||||
|
||||
@@ -14,7 +14,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use studio_timeslot_schedule();
|
||||
|
||||
@@ -12,7 +12,6 @@ use params();
|
||||
use log();
|
||||
use template();
|
||||
use auth();
|
||||
use roles();
|
||||
use uac();
|
||||
use studios();
|
||||
use series();
|
||||
@@ -26,7 +25,6 @@ my $config = config::get('../config/config.cgi');
|
||||
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
||||
return if ( $user eq '' );
|
||||
|
||||
my $permissions = roles::get_user_permissions($config);
|
||||
my $user_presets = uac::get_user_presets(
|
||||
$config,
|
||||
{
|
||||
|
||||
@@ -13,7 +13,6 @@ use template();
|
||||
use auth();
|
||||
use entry();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use params();
|
||||
|
||||
@@ -12,7 +12,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use params();
|
||||
|
||||
@@ -12,7 +12,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use studios();
|
||||
use params();
|
||||
use localization();
|
||||
|
||||
@@ -13,7 +13,6 @@ use log();
|
||||
use template();
|
||||
use auth();
|
||||
use uac();
|
||||
use roles();
|
||||
use project();
|
||||
use studios();
|
||||
use work_schedule();
|
||||
|
||||
Reference in New Issue
Block a user