sub reset {
my ($self, %params) = @_;
- delete $self->{dbh};
$self->{SESSION} = { };
$self->{FULL_RIGHTS} = { };
$self->{RIGHTS} = { };
my $locale = $main::locale;
my @all_rights = (
- ["--crm", $locale->text("CRM optional software")],
- ["crm_search", $locale->text("CRM search")],
- ["crm_new", $locale->text("CRM create customers, vendors and contacts")],
- ["crm_service", $locale->text("CRM services")],
- ["crm_admin", $locale->text("CRM admin")],
- ["crm_adminuser", $locale->text("CRM user")],
- ["crm_adminstatus", $locale->text("CRM status")],
- ["crm_email", $locale->text("CRM send email")],
- ["crm_termin", $locale->text("CRM termin")],
- ["crm_opportunity", $locale->text("CRM opportunity")],
- ["crm_knowhow", $locale->text("CRM know how")],
- ["crm_follow", $locale->text("CRM follow up")],
- ["crm_notices", $locale->text("CRM notices")],
- ["crm_other", $locale->text("CRM other")],
["--master_data", $locale->text("Master Data")],
["customer_vendor_edit", $locale->text("Create customers and vendors. Edit all vendors. Edit only customers where salesman equals employee (login)")],
["customer_vendor_all_edit", $locale->text("Create customers and vendors. Edit all vendors. Edit all customers")],
["sales_delivery_order_edit", $locale->text("Create and edit sales delivery orders")],
["invoice_edit", $locale->text("Create and edit invoices and credit notes")],
["dunning_edit", $locale->text("Create and edit dunnings")],
+ ["sales_letter_edit", $locale->text("Edit sales letters")],
["sales_all_edit", $locale->text("View/edit all employees sales documents")],
["edit_prices", $locale->text("Edit prices and discount (if not used, textfield is ONLY set readonly)")],
["show_ar_transactions", $locale->text("Show AR transactions as part of AR invoice report")],
["delivery_plan", $locale->text("Show delivery plan")],
["delivery_value_report", $locale->text("Show delivery value report")],
+ ["sales_letter_report", $locale->text("Show sales letters report")],
["--ap", $locale->text("AP")],
["request_quotation_edit", $locale->text("Create and edit RFQs")],
["purchase_order_edit", $locale->text("Create and edit purchase orders")],
$rights = { map { $_ => 0 } all_rights() };
+ return $rights if !$self->client || !$login;
+
$query =
qq|SELECT gr."right", gr.granted
FROM auth.group_rights gr
SL::Auth - Authentication and session handling
-=head1 FUNCTIONS
+=head1 METHODS
=over 4
that actually stores stuff in the database. Neither the various
setters nor the deleter access the database.
-=item <save_form_in_session %params>
+=item C<save_form_in_session %params>
Stores the content of C<$params{form}> (default: C<$::form>) in the
session using L</create_unique_sesion_value>.
Returns the unique key under which the form is stored.
-=item <restore_form_from_session $key, %params>
+=item C<restore_form_from_session $key, %params>
Restores the form from the session into C<$params{form}> (default:
C<$::form>).
Returns C<$self>.
+=item C<reset>
+
+C<reset> deletes every state information from previous requests, but does not
+close the database connection.
+
+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.
+
=back
=head1 BUGS