Project

General

Profile

Revision bc182129

Added by Moritz Bunkus 7 months ago

  • ID bc18212984364980013862cc5515a125ccff6e6d
  • Parent 4ad4574f

Berechtigung, Rechnungen persönlich zugeordneter Projekte einzusehen

Man kann nun Mitarbeiter*innen zu Projekten zuordnen, indem man sie in
den Projektstammdaten hinzufügt.

Ist eine Mitarbeiter*in zu einem Projekt zugeordnet, so darf sie alle
Rechnungen ansehen, die über die Projektnummer der Rechnung (nicht der
Positionen) dem Projekt zugeordnet sind, auch dann, wenn sie nicht das
allgemeine Recht zum Erstellen und Ansehen von Rechnungen hat.

Verändern oder Ausdrucken der Rechnungen ist nicht gestattet.

Die Verwaltung dieser Projektberechtigungen ist über ein neues
Gruppenrecht eingeschränkt.

View differences:

SL/DB/Project.pm
12 12
  cvars_alias => 1,
13 13
);
14 14

  
15
__PACKAGE__->meta->add_relationship(
16
  employee_invoice_permissions  => {
17
    type       => 'many to many',
18
    map_class  => 'SL::DB::EmployeeProjectInvoices',
19
  },
20
);
21

  
15 22
__PACKAGE__->meta->initialize;
16 23

  
17 24
sub validate {
......
84 91
  return $description;
85 92
}
86 93

  
94
sub may_employee_view_project_invoices {
95
  my ($self, $employee) = @_;
96

  
97
  return undef if !$self->id;
98

  
99
  my $employee_id = ref($employee) ? $employee->id : $employee * 1;
100
  my $query       = <<EOSQL;
101
    SELECT project_id
102
    FROM employee_project_invoices
103
    WHERE (employee_id = ?)
104
      AND (project_id  = ?)
105
    LIMIT 1
106
EOSQL
107

  
108
  return !!$self->db->dbh->selectrow_arrayref($query, undef, $employee_id, $self->id)->[0];
109
}
110

  
87 111
1;
88 112

  
89 113
__END__

Also available in: Unified diff