Creating a new database handle on each request can take up to 30% of the
pre-request startup time, so we want to avoid that for fast ajax calls.
+=item C<assert, $right, $dont_abort>
+
+Checks if current user has the C<$right>. If C<$dont_abort> is falsish
+the request dies with a access denied error, otherwise returns true or false.
+
=back
=head1 BUGS
sub init_orphaned {
my ($self) = @_;
- return $self->part->orphaned;
+ return $::auth->assert('assembly_edit', 1) // $self->part->orphaned;
}
sub init_models {
kleinere neue Features und Detailverbesserungen:
+ - Abteilungs-Auswahl konsequent alphabetisch sortieren
+ - Buchungsvorlagen schneller über den Namen filtern (suchen).
+ - Neues Recht Erzeugnisse unabhängig vom Status editieren (default 0)
- SEPA-XML: alle Sonderzeichen filtern
- SEPA-Export: Export wieder rückgängig machen, falls noch Status offen
- DATEV-Export: Um Strukturtyp CSV-Export erweitert
'Allow direct creation of new purchase invoices' => 'Direktes Anlegen neuer Einkaufsrechnungen zulassen',
'Allow the following users access to my follow-ups:' => 'Erlaube den folgenden Benutzern Zugriff auf meine Wiedervorlagen:',
'Allow to delete generated printfiles' => 'Löschen von erzeugten Dokumenten erlaubt',
+ 'Always edit assembly items (user can change/delete items even if assemblies are already produced)' => 'Erzeugnisbestandteile verändern (Löschen/Umsortieren) auch nachdem dieses Erzeugnis schon produziert wurde.',
'Always save orders with a projectnumber (create new projects)' => 'Aufträge immer mit Projektnummer speichern (neue Projekt erstellen)',
'Amended Advance Turnover Tax Return' => 'Berichtigte Anmeldung',
'Amount' => 'Betrag',
--- /dev/null
+# @tag: assembly_edit_right
+# @description: Setzt das Recht Erzeugnisbestandteile editieren, auch nachdem es schon erstmalig erzeugt wurde.
+# @depends: release_3_5_0 master_rights_position_gaps
+# @locales: Always edit assembly items (user can change/delete items even if assemblies are already produced)
+package SL::DBUpgrade2::Auth::assembly_edit_right;
+
+use strict;
+use utf8;
+
+use parent qw(SL::DBUpgrade2::Base);
+
+use SL::DBUtils;
+
+sub run {
+ my ($self) = @_;
+
+ $self->db_query("INSERT INTO auth.master_rights (position, name, description) VALUES ( 55000, 'assembly_edit', 'Always edit assembly items (user can change/delete items even if assemblies are already produced)')");
+
+ my $groups = $main::auth->read_groups();
+
+ foreach my $group (values %{$groups}) {
+ $group->{rights}->{assembly_edit} = 0;
+ $main::auth->save_group($group);
+ }
+
+ return 1;
+} # end run
+
+1;