]> git.proxmox.com Git - pmg-api.git/blobdiff - PMG/RESTEnvironment.pm
fix spamscore Statistics - correctly compute ratio
[pmg-api.git] / PMG / RESTEnvironment.pm
index 0fc24bd7ced4ccde440b2b336bd947a578347deb..3875720e40f9776eb8a20708f525960d37fca855 100644 (file)
@@ -38,6 +38,7 @@ sub init_request {
     
     $self->{ticket} = undef;
     $self->{role} = undef;
+    $self->{format} = undef;
     $self->{cinfo} = PVE::INotify::read_file("cluster.conf");
     $self->{usercfg} = PVE::INotify::read_file("pmg-user.conf");
 }
@@ -51,6 +52,18 @@ sub setup_default_cli_env {
     $rest_env->set_role('root');
 }
 
+sub set_format {
+    my ($self, $ticket) = @_;
+
+    $self->{format} = $ticket;
+}
+
+sub get_format {
+    my ($self) = @_;
+
+    return $self->{format} // 'json';
+}
+
 sub set_ticket {
     my ($self, $ticket) = @_;
 
@@ -105,6 +118,11 @@ sub check_api2_permissions {
     my $role = $self->{role};
 
     if (my $allowed_roles = $perm->{check}) {
+       if ($role eq 'helpdesk') {
+           # helpdesk is qmanager + audit
+           return 1 if grep { $_ eq 'audit' } @$allowed_roles;
+           return 1 if grep { $_ eq 'qmanager' } @$allowed_roles;
+       }
        return 1 if grep { $_ eq $role } @$allowed_roles;
     }