split m/;/, ($self->config->flags || '')
]);
- $::request->layout->focus('#config_name');
$self->render('custom_variable_config/form', %params);
}
return if $self->_redirect_to_main_script_if_already_logged_in;
# Otherwise show the login form.
- $self->show_login_form(error => error_state($::form->{error}));
+ $self->show_login_form(error_state($::form->{error}));
}
sub action_logout {
}
sub error_state {
- return {
- session => $::locale->text('The session is invalid or has expired.'),
- password => $::locale->text('Incorrect username or password or no access to selected client!'),
- }->{$_[0]};
+ my %states = (
+ session => { warning => t8('The session has expired. Please log in again.') },
+ password => { error => t8('Incorrect username or password or no access to selected client!') },
+ );
+
+ return %{ $states{$_[0]} || {} };
}
sub set_layout {
sub show_login_form {
my ($self, %params) = @_;
- $::request->layout->focus('#auth_login');
$self->render('login_screen/user_login', %params);
}
$params{CUSTOM_VARIABLES} = CVar->get_custom_variables(module => 'Projects', trans_id => $self->project->id);
CVar->render_inputs(variables => $params{CUSTOM_VARIABLES}) if @{ $params{CUSTOM_VARIABLES} };
- $::request->{layout}->focus('#projectnumber');
-
$self->render('project/form', %params);
}
my $form = $main::form;
my $locale = $main::locale;
- $form->{jsscript} = 1;
$form->{title} = $locale->text('General ledger corrections');
$form->header();
print $form->parse_html_template('acctranscorrections/analyze_filter');
$form->{title} = $locale->text('Add Price Factor');
$form->{callback} ||= build_std_url('action=add_price_factor');
- $::request->{layout}->focus('#description');
$form->header();
print $form->parse_html_template('am/edit_price_factor');
$form->{title} = $locale->text('Edit Price Factor');
$form->{callback} ||= build_std_url('action=add_price_factor');
- $::request->{layout}->focus('#description');
AM->get_price_factor(\%myconfig, $form);
$form->{title} = $locale->text('Add Warehouse');
$form->{callback} ||= build_std_url('action=add_warehouse');
- $::request->{layout}->focus('#description');
$form->header();
print $form->parse_html_template('am/edit_warehouse');
$form->{title} = $locale->text('Edit Warehouse');
$form->{callback} ||= build_std_url('action=list_warehouses');
- $::request->{layout}->focus('#description');
$form->header();
print $form->parse_html_template('am/edit_warehouse');
$options{"CAN_EDIT"} = $form->{"edit"};
- if ($form->{edit}) {
- $::request->{layout}->focus("#edit_content");
-
- } else {
+ if (!$form->{edit}) {
$options{"content"} = "\n\n" if (!$options{"content"});
$options{"SHOW_SECOND_EDIT_BUTTON"} = $options{"lines"} > 25;
}
$taxcharts{$item->{id}} = $item;
}
- $form->{jsscript} = 1;
-
my $follow_up_vc = $form->{vendor};
$follow_up_vc =~ s/--.*?//;
my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)";
$form->all_vc(\%myconfig, "vendor", "AP");
$form->{title} = $locale->text('AP Transactions');
- $::request->{layout}->focus('#vendor');
- $form->{jsscript} = 1;
$form->get_lists("projects" => { "key" => "ALL_PROJECTS", "all" => 1 },
"departments" => "ALL_DEPARTMENTS",
"vendors" => "ALL_VC");
# constants and subs for template
- $form->{jsscript} = 1;
$form->{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" };
$form->header;
$taxcharts{$item->{id}} = $item;
}
- $::request->{layout}->focus("#customer");
-
my $follow_up_vc = $form->{customer};
$follow_up_vc =~ s/--.*?//;
my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)";
my $locale = $main::locale;
my $cgi = $::request->{cgi};
- my ($customer, $department);
- my ($jsscript, $button1, $button2);
-
# setup customer selection
$form->all_vc(\%myconfig, "customer", "AR");
$form->{title} = $locale->text('AR Transactions');
- $form->{jsscript} = 1;
# Auch in Rechnungsübersicht nach Kundentyp filtern - jan
$form->get_lists("projects" => { "key" => "ALL_PROJECTS", "all" => 1 },
$form->{SHOW_BUSINESS_TYPES} = scalar @{ $form->{ALL_BUSINESS_TYPES} } > 0;
# constants and subs for template
- $form->{jsscript} = 1;
$form->{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" };
$form->header;
'include_prefix' => 'l_',
'include_value' => 'Y');
- $form->{jsscript} = 1;
$form->{title} = $form->{IS_CUSTOMER} ? $locale->text('Customers') : $locale->text('Vendors');
- $::request->{layout}->focus('#name');
$form->header();
print $form->parse_html_template('ct/search');
$form->{shipto_label} = \&_shipto_label;
$form->{contacts_label} = \&_contacts_label;
$form->{taxzone_id} = 0 if !$form->{id};
- $form->{jsscript} = 1;
$form->{SHIPTO_ALL} = [ +{ shipto_id => '0', shiptoname => $::locale->text('All') }, @{ $form->{SHIPTO} } ];
- $::request->{layout}->focus("#greeting");
$form->{title} = $form->{title_save}
|| $locale->text("$form->{title} " . ucfirst $form->{db}) . ($form->{title} eq "Edit" ? " $form->{name}" : '');
$form->{SHOW_DEPARTMENT_SELECTION} = $form->{all_departments} && scalar @{ $form->{all_departments} || [] };
$form->{title} = $locale->text('Start Dunning Process');
- $form->{jsscript} = 1;
- $::request->{layout}->focus('#customer');
$form->header();
print $form->parse_html_template("dunning/add");
$form->{type} = 'dunning';
$form->{rowcount} = scalar @{ $form->{DUNNINGS} };
- $form->{jsscript} = 1;
$form->{callback} ||= build_std_url("action=show_invoices", qw(customer invnumber ordnumber groupinvoices minamount dunning_level notes));
$form->{PRINT_OPTIONS} = print_options('inline' => 1,
$form->{SHOW_DEPARTMENT_DDBOX} = scalar @{ $form->{ALL_CUSTOMERS} };
$form->{SHOW_DUNNING_LEVELS} = scalar @{ $form->{DUNNING} };
- $form->{jsscript} = 1;
$form->{title} = $locale->text('Dunnings');
- $::request->{layout}->focus('#customer');
$form->header();
# retrieve order/quotation
$form->{webdav} = $::instance_conf->get_webdav;
- $form->{jsscript} = 1;
my $editing = $form->{id};
$form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
$form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
- # use JavaScript Calendar or not
- $form->{jsscript} = 1;
-
my @old_project_ids = ($form->{"globalproject_id"});
map({ push(@old_project_ids, $form->{"project_id_$_"})
if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"}));
$form->{ALL_EMPLOYEES} = SL::DB::Manager::Employee->get_all(query => [ deleted => 0 ]);
$form->{SHOW_VC_DROP_DOWN} = $myconfig{vclimit} > scalar @{ $form->{ALL_VC} };
- $form->{jsscript} = 1;
$form->{title} = $locale->text('Delivery Orders');
$form->header();
my %myconfig = %main::myconfig;
my $locale = $main::locale;
- $form->{jsscript} = 1;
-
$form->{title} = $locale->text('Stock');
my $part_info = IC->get_basic_part_info('id' => $form->{parts_id});
$params{trans_id} = $form->{LINKS}->[0]->{trans_id} if (@{ $form->{LINKS} });
$form->{FOLLOW_UPS} = FU->follow_ups(%params);
- $form->{jsscript} = 1;
-
$form->header(no_layout => $::form->{POPUP_MODE});
print $form->parse_html_template('fu/add_edit');
$form->get_lists("employees" => "EMPLOYEES");
- $form->{jsscript} = 1;
$form->{title} = $locale->text('Follow-Ups');
$form->header();
$form->{title} = $locale->text($form->{title});
$form->{title} = $locale->text('Assemblies') if ($is_xyz{is_assembly});
- $form->{jsscript} = 1;
-
$form->{CUSTOM_VARIABLES} = CVar->get_configs('module' => 'IC');
($form->{CUSTOM_VARIABLES_FILTER_CODE},
$form->{CUSTOM_VARIABLES_INCLUSION_CODE}) = CVar->render_search_options('variables' => $form->{CUSTOM_VARIABLES},
flash('info', $::locale->text('This partnumber is not unique. You should change it.'));
}
- # use JavaScript Calendar or not (yes!)
- $form->{jsscript} = 1;
-
my $units = AM->retrieve_units(\%myconfig, $form);
$form->{ALL_UNITS} = [ map +{ name => $_ }, sort { $units->{$a}{sortkey} <=> $units->{$b}{sortkey} } keys %$units ];
$form->{defaults} = AM->get_defaults();
- $::request->{layout}->focus("#partnumber");
-
$form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'IC', 'trans_id' => $form->{id});
CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}, show_disabled_message => 1)
my $attachment_filename = $form->generate_attachment_filename();
my $subject = $form->{subject} || $form->generate_email_subject();
- $::request->{layout}->focus($form->{"email"} ? "#subject" : "#email");
$form->header;
my (@dont_hide_key_list, %dont_hide_key, @hidden_keys);
# create links
$form->{webdav} = $::instance_conf->get_webdav;
- $form->{jsscript} = 1;
$form->create_links("AP", \%myconfig, "vendor");
$TMPL_VAR{creditwarning} = ($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update};
$TMPL_VAR{is_credit_remaining_negativ} = $form->{creditremaining} =~ /-/;
- $::request->{layout}->focus('#vendor');
-
my $follow_up_vc = $form->{vendor};
$follow_up_vc =~ s/--\d*\s*$//;
$TMPL_VAR{vendor_name} = $follow_up_vc;
), @custom_hiddens,
map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
- $form->{jsscript} = 1;
$form->header();
print $form->parse_html_template("ir/form_header", \%TMPL_VAR);
$form->{callback} = "$form->{script}?action=add&type=$form->{type}" unless $form->{callback};
- $form->{jsscript} = "date";
-
&invoice_links;
&prepare_invoice;
&display_form;
$TMPL_VAR{creditwarning} = ($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update};
$TMPL_VAR{is_credit_remaining_negativ} = $form->{creditremaining} =~ /-/;
- $::request->{layout}->focus('#customer');
-
my $follow_up_vc = $form->{customer};
$follow_up_vc =~ s/--\d*\s*$//;
$TMPL_VAR{customer_name} = $follow_up_vc;
), @custom_hiddens,
map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
- $form->{jsscript} = 1;
$form->header();
print $form->parse_html_template("is/form_header", \%TMPL_VAR);
# retrieve order/quotation
$form->{webdav} = $::instance_conf->get_webdav;
- $form->{jsscript} = 1;
my $editing = $form->{id};
$form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
$form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
- # use JavaScript Calendar or not
- $form->{jsscript} = 1;
-
# openclosed checkboxes
my @tmp;
push @tmp, sprintf qq|<input name="delivered" id="delivered" type="checkbox" class="checkbox" value="1" %s><label for="delivered">%s</label>|,
$form->{ALL_EMPLOYEES} = SL::DB::Manager::Employee->get_all(query => [ deleted => 0 ]);
# constants and subs for template
- $form->{jsscript} = 1;
$form->{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" };
$form->header();
my $bank_account_label_sub = sub { $locale->text('Account number #1, bank code #2, #3', $_[0]->{account_number}, $_[0]->{bank_code}, $_[0]->{bank}) };
- $form->{jsscript} = 1;
-
$form->header();
print $form->parse_html_template('sepa/bank_transfer_create',
{ 'BANK_TRANSFERS' => \@bank_transfers,
my $vc = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
$form->{title} = $vc eq 'customer' ? $::locale->text('List of bank collections') : $locale->text('List of bank transfers');
- $form->{jsscript} = 1;
$form->header();
print $form->parse_html_template('sepa/bank_transfer_search', { vc => $vc });
$form->error($locale->text('That export does not exist.'));
}
- $form->{jsscript} = 1;
$form->{title} = $locale->text('View SEPA export');
$form->header();
print $form->parse_html_template('sepa/bank_transfer_edit',
$form->all_vc(\%myconfig, "customer", "AR");
$form->{title} = $locale->text('Sales Report');
- $form->{jsscript} = 1;
$form->get_lists("projects" => { "key" => "ALL_PROJECTS", "all" => 1 },
"departments" => "ALL_DEPARTMENTS",
# can't currently be configured from report, empty line between main sortings
my $addemptylines = 1;
-
+
# don't add empty lines between mainsort subtotals when only subtotal_mainsort is selected
if ($form->{l_subtotal_mainsort} eq "Y" and not defined $form->{l_headers_mainsort} and not defined $form->{l_headers_subsort} and not defined $form->{l_subtotal_subsort} ) {
- $addemptylines = 0
+ $addemptylines = 0
};
if ( $form->{customer} =~ /--/ ) {
my $content;
- $form->{jsscript} = 1;
-
if ($form->{trans_type} eq 'removal') {
$form->{nextsub} = "removal_parts_selection";
$form->{title} = $locale->text('Removal from Warehouse');
show_no_warehouses_error() if (!scalar @{ $form->{WAREHOUSES} });
- $form->{jsscript} = 1;
-
$form->header();
print $form->parse_html_template("wh/journal_filter", { "UNITS" => AM->unit_select_data(AM->retrieve_units(\%myconfig, $form)) });
show_no_warehouses_error() if (!scalar @{ $form->{WAREHOUSES} });
- $form->{jsscript} = 1;
-
$form->{title} = $locale->text("Report about warehouse contents");
$form->header();
'The selected exports have been closed.' => 'Die ausgewählten Exporte wurden abgeschlossen.',
'The selected warehouse does not exist.' => 'Das ausgewählte Lager existiert nicht.',
'The selected warehouse is empty, or no stocked items where found that match the filter settings.' => 'Das ausgewählte Lager ist leer, oder in ihm wurden keine zu den Sucheinstellungen passenden eingelagerten Artikel gefunden.',
+ 'The session has expired. Please log in again.' => 'Die Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.',
'The session is invalid or has expired.' => 'Sie sind von kivitendo abgemeldet.',
'The settings were saved, but the password was not changed.' => 'Die Einstellungen wurden gespeichert, aber das Passwort wurde nicht geändert.',
'The source warehouse does not contain any bins.' => 'Das Quelllager enthält keine Lagerplätze.',
<table border="0">
<tr>
<td align="right">[% 'Description' | $T8 %]</td>
- <td><input id="description" name="description" value="[% HTML.escape(description) %]"></td>
+ <td><input id="description" name="description" value="[% HTML.escape(description) %]" class="initial_focus"></td>
</tr>
<tr>
[% IF id %][% IF orphaned %]<input type="submit" name="action" value="[% 'Delete' | $T8 %]">[% END %][% END %]
</p>
</form>
-
</p>
[% IF CAN_EDIT %]
- <p><textarea name="content" id="edit_content" cols="100" rows="25">[% HTML.escape(content) %]</textarea></p>
+ <p><textarea name="content" id="edit_content" cols="100" rows="25"[% IF edit %] class="initial_focus"[% END %]>[% HTML.escape(content) %]</textarea></p>
<p>
<input type="hidden" name="save_nextsub" value="save_template">
[% END %] <!-- SHOW_CONTENT -->
</form>
-
<tr>
<td align="right">[% 'Description' | $T8 %]</td>
<td>
- <input id='description' name="description" size="60" value="[% HTML.escape(description) %]">
+ <input id='description' name="description" size="60" value="[% HTML.escape(description) %]" class="initial_focus">
<input type="hidden" name="orig_description" value="[% HTML.escape(description) %]">
</td>
</tr>
[% END %]
[% END %]
-
name = 'vendor',
default = oldvendor,
style = 'width: 250px',
+ class = 'initial_focus',
DATA = ALL_VC,
id_sub = 'vc_keys',
label_key = 'name',
<th align="right" nowrap>[% 'Customer' | $T8 %]</th>
<td colspan=3>
[%- IF selectcustomer %]
- <select id='customer' name="customer" onchange="document.getElementById('update_button').click();">[% selectcustomer %]</select>
+ <select id='customer' name="customer" onchange="document.getElementById('update_button').click();" class="initial_focus">[% selectcustomer %]</select>
[%- ELSE %]
- <input id='customer' name=customer value="[% customer | html %]" size=35>
+ <input id='customer' name=customer value="[% customer | html %]" size=35 class="initial_focus">
[%- END %]
<input type="button" value="[% 'Details (one letter abbreviation)' | $T8 %]" onclick="show_vc_details('customer')"></td>
[% L.hidden_tag('selectcustomer', selectcustomer) %]
<tr>
<th align="right" nowrap>[% 'Greeting' | $T8 %]</th>
<td>
- <input id="greeting" name="greeting" size="30" value="[% HTML.escape(greeting) %]">
+ <input id="greeting" name="greeting" size="30" value="[% HTML.escape(greeting) %]" class="initial_focus">
[%- INCLUDE generic/multibox.html
name = 'selected_company_greeting',
DATA = MB_COMPANY_GREETINGS,
<tr>
<th align="right" nowrap>[% IF IS_CUSTOMER %][% 'Customer Name' | $T8 %][%- ELSE %][% 'Vendor Name' | $T8 %][%- END %]</th>
- <td><input id="name" name="name" size="35"></td>
+ <td><input id="name" name="name" size="35" class="initial_focus"></td>
</tr>
<tr>
<input type="submit" class="submit" name="action" value="[% 'Continue' | $T8 %]">
</form>
-
<tr>
<td align="right">[% 'Variable Name' | $T8 %]<sup><span class="small-text">(1)</span></sup></td>
- <td>[%- L.input_tag("config.name", SELF.config.name) %]</td>
+ <td>[%- L.input_tag("config.name", SELF.config.name, class='initial_focus') %]</td>
</tr>
<tr>
<th align="right">[% 'Customer' | $T8 %]</th>
<td colspan="3">
[% IF SHOW_CUSTOMER_SELECTION %]
- <select name="customer">
+ <select name="customer" class="initial_focus">
<option></option>
[% FOREACH row = all_customer %]<option>[% HTML.escape(row.name) %]--[% HTML.escape(row.id) %]</option>[% END %]
</select>
[% ELSE %]
- <input name="customer" size="35">
+ <input name="customer" size="35" class="initial_focus">
[% END %]
</td>
</tr>
<input class="submit" type="submit" name="action" value="[% 'Continue' | $T8 %]">
</form>
-
-
<th align="right">[% 'Customer' | $T8 %]</th>
<td colspan="3">
[% IF SHOW_CUSTOMER_DDBOX %]
- <select id='customer' name="customer_id">
+ <select id='customer' name="customer_id" class="initial_focus">
<option value=""></option>
[% FOREACH row = ALL_CUSTOMERS %]<option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.name) %]</option>
[% END %]
</select>
[% ELSE %]
- <input id='customer' name="customer" size="35">
+ <input id='customer' name="customer" size="35" class="initial_focus">
[% END %]
</td>
</tr>
<input class="submit" type="submit" name="action" value="[% 'Continue' | $T8 %]">
</form>
-
[%- USE T8 %]
-[%- USE HTML %]
+[%- USE HTML %][%- USE L -%]
<form name="Form" method="post" action="[% script %]">
<table width="100%">
<tr>
<th align="right" nowrap>[% 'To' | $T8 %]</th>
- <td><input id="email" name="email" size="30" value="[% HTML.escape(email) %]"></td>
+ <td>[% L.input_tag('email', email, size=30, class=(email ? '' : 'initial_focus')) %]</td>
</tr>
<tr>
<th align="right" nowrap>[% 'Cc' | $T8 %]</th>
<tr>
<th align="right" nowrap>[% 'Subject' | $T8 %]</th>
- <td><input id="subject" name="subject" size="30" value="[% HTML.escape(subject) %]"></td>
+ <td>[% L.input_tag('subject', subject, size=30, class=(email ? 'initial_focus' : '')) %]</td>
</tr>
<tr>
<th align="right" nowrap>[% 'Attachment name' | $T8 %]</th>
<br>
<input name="action" class="submit" type="submit" value="[% 'Continue' | $T8 %]">
</form>
-
<table>
<tr>
<th align="right">[% 'Part Number' | $T8 %]</th>
- <td><input id='partnumber' name="partnumber" value="[% HTML.escape(partnumber) %]" size="40"></td>
+ <td><input id='partnumber' name="partnumber" value="[% HTML.escape(partnumber) %]" size="40" class="initial_focus"></td>
</tr>
<tr>
<th align="right">[% 'Part Description' | $T8 %]</th>
id = 'vendor',
name = 'vendor',
style = 'width: 250px',
+ class = 'initial_focus',
DATA = ALL_VENDORS,
id_sub = 'vc_keys',
label_key = 'name',
id = 'customer',
name = 'customer',
style = 'width: 250px',
+ class = 'initial_focus',
DATA = ALL_CUSTOMERS,
id_sub = 'vc_keys',
label_key = 'name',
[% IF error %]
<div class="message_error_login">[% HTML.escape(error) %]</div>
[% END %]
+[% IF warning %]
+ <div class="message_hint">[% HTML.escape(warning) %]</div>
+[% END %]
[% IF info %]
<div class="message_ok">[% HTML.escape(info) %]</div>
[% END %]
<table>
<tr>
<th align="right">[% 'Login Name' | $T8 %]</th>
- <td>[% L.input_tag('{AUTH}login', '', id='auth_login', style=style) %]</td>
+ <td>[% L.input_tag('{AUTH}login', '', id='auth_login', style=style, class='initial_focus') %]</td>
</tr>
<tr>
<th align="right">[% 'Password' | $T8 %]</th>
<table>
<tr>
<th align="right">[% 'Number' | $T8 %]</th>
- <td>[% L.input_tag("project.projectnumber", SELF.project.projectnumber, size=60) %]</td>
+ <td>[% L.input_tag("project.projectnumber", SELF.project.projectnumber, size=60, class='initial_focus') %]</td>
</tr>
<tr>