Revision 922f961c
Von G. Richardson vor mehr als 6 Jahren hinzugefügt
- ID 922f961cb091c49dbc02693faf50382ceb9cd5a2
- Vorgänger 1d1f3140
SL/Controller/RequirementSpecOrder.pm | ||
---|---|---|
192 | 192 |
my ($self) = @_; |
193 | 193 |
|
194 | 194 |
$::auth->assert('requirement_spec_edit'); |
195 |
$::request->{layout}->use_stylesheet("${_}.css") for qw(jquery.contextMenu requirement_spec);
|
|
195 |
$::request->{layout}->use_stylesheet("${_}.css") for qw(jquery.contextMenu); |
|
196 | 196 |
$::request->{layout}->use_javascript("${_}.js") for qw(jquery.jstree jquery/jquery.contextMenu client_js requirement_spec); |
197 | 197 |
|
198 | 198 |
return 1; |
SL/Form.pm | ||
---|---|---|
422 | 422 |
|
423 | 423 |
# standard css for all |
424 | 424 |
# this should gradually move to the layouts that need it |
425 |
# $layout->use_stylesheet("$_.css") for qw( |
|
426 |
# common main menu list_accounts jquery.autocomplete |
|
427 |
# jquery.multiselect2side |
|
428 |
# ui-lightness/jquery-ui |
|
429 |
# jquery-ui.custom |
|
430 |
# tooltipster themes/tooltipster-light |
|
431 |
# ); |
|
432 |
# Use only style.css which is compiled from the less-files in /css/less/ |
|
425 | 433 |
$layout->use_stylesheet("$_.css") for qw( |
426 |
common main menu list_accounts jquery.autocomplete |
|
427 |
jquery.multiselect2side |
|
428 |
ui-lightness/jquery-ui |
|
429 |
jquery-ui.custom |
|
430 |
tooltipster themes/tooltipster-light |
|
434 |
style |
|
431 | 435 |
); |
432 | 436 |
|
437 |
|
|
433 | 438 |
$layout->use_javascript("$_.js") for (qw( |
434 | 439 |
jquery jquery-ui jquery.cookie jquery.checkall jquery.download |
435 | 440 |
jquery/jquery.form jquery/fixes client_js |
... | ... | |
465 | 470 |
|
466 | 471 |
# output |
467 | 472 |
print $self->create_http_response(content_type => 'text/html', charset => 'UTF-8'); |
468 |
print $doctypes{$params{doctype} || 'transitional'}, $/;
|
|
473 |
print $doctypes{$params{doctype} || 'html5'}, $/;
|
|
469 | 474 |
print <<EOT; |
470 | 475 |
<html> |
471 | 476 |
<head> |
SL/Layout/CssMenu.pm | ||
---|---|---|
4 | 4 |
use parent qw(SL::Layout::Base); |
5 | 5 |
|
6 | 6 |
sub use_stylesheet { |
7 |
qw(icons16.css),
|
|
7 |
qw(style.css),
|
|
8 | 8 |
} |
9 | 9 |
|
10 | 10 |
sub pre_content { |
SL/Layout/Javascript.pm | ||
---|---|---|
69 | 69 |
qw( |
70 | 70 |
dhtmlsuite/menu-item.css |
71 | 71 |
dhtmlsuite/menu-bar.css |
72 |
icons16.css |
|
73 |
menu.css |
|
74 | 72 |
), |
75 | 73 |
( map { $_->stylesheets } $_[0]->sub_layouts ), |
76 | 74 |
$_[0]->sub_layouts_by_name->{actionbar}->stylesheets, |
SL/Layout/MenuLeft.pm | ||
---|---|---|
8 | 8 |
use URI; |
9 | 9 |
|
10 | 10 |
sub stylesheets { |
11 |
qw(icons16.css icons24.css menu.css)
|
|
11 |
#qw(icons16.css icons24.css menu.css) # no need for that with new design
|
|
12 | 12 |
} |
13 | 13 |
|
14 | 14 |
sub javascripts_inline { |
SL/Layout/None.pm | ||
---|---|---|
38 | 38 |
sub use_stylesheet { |
39 | 39 |
my $self = shift; |
40 | 40 |
qw( |
41 |
main.css |
|
42 |
menu.css |
|
41 |
style.css |
|
43 | 42 |
), |
44 | 43 |
$self->SUPER::use_stylesheet(@_); |
45 | 44 |
} |
SL/Layout/Top.pm | ||
---|---|---|
22 | 22 |
); |
23 | 23 |
} |
24 | 24 |
|
25 |
sub stylesheets { |
|
26 |
'frame_header/header.css'; |
|
27 |
} |
|
25 |
# Only one CSS-File is used for standard design which are compiled from the LESS-Files in /css/less |
|
26 |
#sub stylesheets { |
|
27 |
# 'frame_header/header.css'; |
|
28 |
#} |
|
28 | 29 |
|
29 | 30 |
sub javascripts { |
30 | 31 |
'jquery-ui.js', |
SL/Template/Plugin/L.pm | ||
---|---|---|
252 | 252 |
my $minrows = delete $attributes{min_rows} || 1; |
253 | 253 |
my $maxrows = delete $attributes{max_rows}; |
254 | 254 |
my $rows = $::form->numtextrows($value, $cols, $maxrows, $minrows); |
255 |
my $class = $attributes{class}; # Do not delete attribute/hash element |
|
255 | 256 |
|
256 | 257 |
$attributes{id} ||= _tag_id(); |
257 | 258 |
my $id = $attributes{id}; |
258 | 259 |
|
259 | 260 |
return $self->textarea_tag($name, $value, %attributes, rows => $rows, cols => $cols) if $rows > 1; |
260 |
|
|
261 |
return '<span>' |
|
261 |
# PENDENT: Hier sollte noch eine Klasse an kivi.switch_areainput_to_textarea uebergeben werden |
|
262 |
# PENDENT: ID gugusli aus button entfernen, wird nicht angezeigt im browser (war nur Test) |
|
263 |
return '<span class="switch-form-element">' |
|
262 | 264 |
. $self->input_tag($name, $value, %attributes, size => $cols) |
263 |
. "<img src=\"image/edit-entry.png\" onclick=\"kivi.switch_areainput_to_textarea('${id}')\" style=\"margin-left: 2px;\">"
|
|
265 |
. "<button class=\"wi-tiny icon\"><img src=\"image/edit-entry.png\" onclick=\"kivi.switch_areainput_to_textarea('${id}','".$class."')\"></button>"
|
|
264 | 266 |
. '</span>'; |
265 | 267 |
} |
266 | 268 |
|
bin/mozilla/do.pl | ||
---|---|---|
473 | 473 |
|
474 | 474 |
setup_do_action_bar(); |
475 | 475 |
|
476 |
$form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted(); # aus sub form_footer |
|
477 |
|
|
476 | 478 |
$form->header(); |
479 |
|
|
477 | 480 |
# Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID' |
478 | 481 |
# und Erweiterung für Bug 1760: |
479 | 482 |
# Das war leider nur ein Teil-Fix, da das Verhalten den 'Erneuern'-Knopf |
... | ... | |
499 | 502 |
my $form = $main::form; |
500 | 503 |
|
501 | 504 |
$form->{PRINT_OPTIONS} = setup_sales_purchase_print_options(); |
502 |
$form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted();
|
|
505 |
# $form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted(); # verlagert in sub form_header
|
|
503 | 506 |
|
504 | 507 |
print $form->parse_html_template('do/form_footer', |
505 | 508 |
{transfer_default => ($::instance_conf->get_transfer_default)}); |
bin/mozilla/gl.pl | ||
---|---|---|
806 | 806 |
for my $i (1 .. $form->{rowcount}) { |
807 | 807 |
if ($form->{show_details}) { |
808 | 808 |
$source = qq| |
809 |
<td><input name="source_$i" value="$form->{"source_$i"}" size="16"></td>|;
|
|
809 |
<td><input name="source_$i" value="$form->{"source_$i"}" class="wi-verysmall" type="text"></td>|;
|
|
810 | 810 |
$memo = qq| |
811 |
<td><input name="memo_$i" value="$form->{"memo_$i"}" size="16"></td>|;
|
|
811 |
<td><input name="memo_$i" value="$form->{"memo_$i"}" class="wi-small" type="text"></td>|;
|
|
812 | 812 |
} else { |
813 | 813 |
$source_hidden = qq| |
814 |
<input type="hidden" name="source_$i" value="$form->{"source_$i"}" size="16">|;
|
|
814 |
<input type="hidden" name="source_$i" value="$form->{"source_$i"}">|; |
|
815 | 815 |
$memo_hidden = qq| |
816 |
<input type="hidden" name="memo_$i" value="$form->{"memo_$i"}" size="16">|;
|
|
816 |
<input type="hidden" name="memo_$i" value="$form->{"memo_$i"}">|; |
|
817 | 817 |
} |
818 | 818 |
|
819 | 819 |
my %taxchart_labels = (); |
... | ... | |
854 | 854 |
if ($init) { |
855 | 855 |
if ($form->{transfer}) { |
856 | 856 |
$fx_transaction = qq| |
857 |
<td><input name="fx_transaction_$i" class=checkbox type=checkbox value=1></td>
|
|
857 |
<td><input name="fx_transaction_$i" type="checkbox" value="1"></td>
|
|
858 | 858 |
|; |
859 | 859 |
} |
860 | 860 |
|
... | ... | |
883 | 883 |
$checked = ($form->{"fx_transaction_$i"}) ? "1" : ""; |
884 | 884 |
my $x = ($checked) ? "x" : ""; |
885 | 885 |
$fx_transaction = qq| |
886 |
<td><input type=hidden name="fx_transaction_$i" value="$checked">$x</td>
|
|
886 |
<td><input type="hidden" name="fx_transaction_$i" value="$checked">$x</td>
|
|
887 | 887 |
|; |
888 | 888 |
} |
889 | 889 |
$form->hide_form("accno_$i"); |
... | ... | |
891 | 891 |
} else { |
892 | 892 |
if ($form->{transfer}) { |
893 | 893 |
$fx_transaction = qq| |
894 |
<td><input name="fx_transaction_$i" class=checkbox type=checkbox value=1></td>
|
|
894 |
<td><input name="fx_transaction_$i" type="checkbox" value="1"></td>
|
|
895 | 895 |
|; |
896 | 896 |
} |
897 | 897 |
} |
... | ... | |
925 | 925 |
|
926 | 926 |
print qq|<tr valign=top> |
927 | 927 |
$accno |
928 |
<td id="chart_balance_$i" align="right">${balance}</td>
|
|
928 |
<td id="chart_balance_$i" class="right">${balance}</td>
|
|
929 | 929 |
$fx_transaction |
930 |
<td><input name="debit_$i" size="8" value="$form->{"debit_$i"}" accesskey=$i $copy2credit $debitreadonly></td>
|
|
931 |
<td><input name="credit_$i" size=8 value="$form->{"credit_$i"}" $creditreadonly></td>
|
|
932 |
<td><input type="hidden" name="tax_$i" value="$form->{"tax_$i"}">$form->{"tax_$i"}</td>
|
|
930 |
<td class="right"><input name="debit_$i" type="text" class="wi-small numeric" value="$form->{"debit_$i"}" accesskey=$i $copy2credit $debitreadonly></td>
|
|
931 |
<td class="right"><input name="credit_$i" type="text" class="wi-small numeric" value="$form->{"credit_$i"}" $creditreadonly></td>
|
|
932 |
<td class="right"><input name="tax_$i" type="hidden" value="$form->{"tax_$i"}">$form->{"tax_$i"}</td>
|
|
933 | 933 |
$tax_ddbox|; |
934 | 934 |
|
935 | 935 |
if ($form->{show_details}) { |
bin/mozilla/io.pl | ||
---|---|---|
166 | 166 |
# column_index |
167 | 167 |
my @header_sort = qw( |
168 | 168 |
runningnumber partnumber type_and_classific description ship ship_missing qty price_factor |
169 |
unit weight price_source sellprice discount linetotal
|
|
169 |
unit weight price_source sellprice discount linetotal |
|
170 | 170 |
bin stock_in_out |
171 | 171 |
); |
172 | 172 |
my @row2_sort = qw( |
173 | 173 |
serialnr projectnr reqdate subtotal marge listprice lastcost onhand |
174 | 174 |
); |
175 | 175 |
my %column_def = ( |
176 |
runningnumber => { width => 5, value => $locale->text('No.'), display => 1, },
|
|
176 |
runningnumber => { width => 2, value => $locale->text('No.'), display => 1, },
|
|
177 | 177 |
partnumber => { width => 8, value => $locale->text('Number'), display => 1, }, |
178 | 178 |
type_and_classific |
179 | 179 |
=> { width => 2, value => $locale->text('Type'), display => 1, }, |
... | ... | |
187 | 187 |
serialnr => { width => 10, value => $locale->text('Serial No.'), display => !$is_quotation }, |
188 | 188 |
projectnr => { width => 10, value => $locale->text('Project'), display => 1, }, |
189 | 189 |
price_source => { width => 5, value => $locale->text('Price Source'), display => !$is_delivery_order, }, |
190 |
sellprice => { width => 15, value => $locale->text('Price'), display => !$is_delivery_order, },
|
|
190 |
sellprice => { width => 10, value => $locale->text('Price'), display => !$is_delivery_order, },
|
|
191 | 191 |
discount => { width => 5, value => $locale->text('Discount'), display => !$is_delivery_order, }, |
192 | 192 |
linetotal => { width => 10, value => $locale->text('Extended'), display => !$is_delivery_order, }, |
193 | 193 |
bin => { width => 10, value => $locale->text('Bin'), display => 0, }, |
... | ... | |
219 | 219 |
my $deliverydate = $locale->text('Required by'); |
220 | 220 |
|
221 | 221 |
# special alignings |
222 |
my %align = map { $_ => 'right' } qw(qty ship right discount linetotal stock_in_out weight ship_missing);
|
|
222 |
my %align = map { $_ => 'right' } qw(right linetotal stock_in_out weight ship_missing);
|
|
223 | 223 |
my %nowrap = map { $_ => 1 } qw(description unit price_source); |
224 | 224 |
|
225 | 225 |
$form->{marge_total} = 0; |
... | ... | |
303 | 303 |
my $rows = $form->numtextrows($form->{"description_$i"}, 30, 6); |
304 | 304 |
|
305 | 305 |
# quick delete single row |
306 |
$column_data{runningnumber} = q|<a onclick= "$('#partnumber_| . $i . q|').val(''); $('#update_button').click();">| . |
|
306 |
$column_data{runningnumber} = q|<a onclick= "$('#partnumber_| . $i . q|').val(''); $('#update_button').click();" class="row-position">| .
|
|
307 | 307 |
q|<img height="10px" width="10px" src="image/cross.png" alt="| . $locale->text('Remove') . q|"></a> |; |
308 |
$column_data{runningnumber} .= $cgi->textfield(-name => "runningnumber_$i", -id => "runningnumber_$i", -size => 5, -value => $i); # HuT
|
|
308 |
$column_data{runningnumber} .= $cgi->textfield(-name => "runningnumber_$i", -id => "runningnumber_$i", -size => 2, -value => $i, -class => "row-position wi-smallest"); # HuT
|
|
309 | 309 |
|
310 | 310 |
|
311 | 311 |
$column_data{partnumber} = $cgi->textfield(-name => "partnumber_$i", -id => "partnumber_$i", -size => 12, -value => $form->{"partnumber_$i"}); |
312 | 312 |
$column_data{type_and_classific} = SL::Presenter::Part::type_abbreviation($form->{"part_type_$i"}). |
313 | 313 |
SL::Presenter::Part::classification_abbreviation($form->{"classification_id_$i"}) if $form->{"id_$i"}; |
314 | 314 |
$column_data{description} = (($rows > 1) # if description is too large, use a textbox instead |
315 |
? $cgi->textarea( -name => "description_$i", -id => "description_$i", -default => $form->{"description_$i"}, -rows => $rows, -columns => 30)
|
|
316 |
: $cgi->textfield(-name => "description_$i", -id => "description_$i", -value => $form->{"description_$i"}, -size => 30))
|
|
317 |
. $cgi->button(-value => $locale->text('L'), -onClick => "kivi.SalesPurchase.edit_longdescription($i)"); |
|
315 |
? $cgi->textarea( -name => "description_$i", -id => "description_$i", -default => $form->{"description_$i"}, -rows => $rows, -class => "wi-lightwide")
|
|
316 |
: $cgi->textfield(-name => "description_$i", -id => "description_$i", -value => $form->{"description_$i"}, -class => "wi-lightwide"))
|
|
317 |
. $cgi->button(-value => $locale->text('L'), -onClick => "kivi.SalesPurchase.edit_longdescription($i)", -class => "wi-tiny");
|
|
318 | 318 |
|
319 | 319 |
my $qty_dec = ($form->{"qty_$i"} =~ /\.(\d+)/) ? length $1 : 2; |
320 | 320 |
|
321 |
$column_data{qty} = $cgi->textfield(-name => "qty_$i", -size => 5, -class => "numeric", -value => $form->format_amount(\%myconfig, $form->{"qty_$i"}, $qty_dec));
|
|
321 |
$column_data{qty} = $cgi->textfield(-name => "qty_$i", -class => "numeric wi-verysmall", -value => $form->format_amount(\%myconfig, $form->{"qty_$i"}, $qty_dec));
|
|
322 | 322 |
$column_data{qty} .= $cgi->button(-onclick => "calculate_qty_selection_dialog('qty_$i', '', 'formel_$i', '')", -value => $locale->text('*/')) |
323 | 323 |
. $cgi->hidden(-name => "formel_$i", -value => $form->{"formel_$i"}) |
324 | 324 |
if $form->{"formel_$i"}; |
... | ... | |
378 | 378 |
my $edit_discounts = $main::auth->assert('edit_prices', 1) && !$::form->{"active_discount_source_$i"}; |
379 | 379 |
$column_data{sellprice} = (!$edit_prices) |
380 | 380 |
? $cgi->hidden( -name => "sellprice_$i", -id => "sellprice_$i", -value => $sellprice_value) . $sellprice_value |
381 |
: $cgi->textfield(-name => "sellprice_$i", -id => "sellprice_$i", -size => 10, -class => "numeric", -value => $sellprice_value); |
|
381 |
: $cgi->textfield(-name => "sellprice_$i", -id => "sellprice_$i", -size => 10, -class => "numeric wi-verysmall", -value => $sellprice_value);
|
|
382 | 382 |
$column_data{discount} = (!$edit_discounts) |
383 | 383 |
? $cgi->hidden( -name => "discount_$i", -id => "discount_$i", -value => $discount_value) . $discount_value . ' %' |
384 |
: $cgi->textfield(-name => "discount_$i", -id => "discount_$i", -size => 3, -"data-validate" => "number", -class => "numeric", -value => $discount_value); |
|
384 |
: $cgi->textfield(-name => "discount_$i", -id => "discount_$i", -size => 3, -"data-validate" => "number", -class => "numeric wi-smallest", -value => $discount_value);
|
|
385 | 385 |
|
386 | 386 |
if ($is_delivery_order) { |
387 | 387 |
$column_data{stock_in_out} = calculate_stock_in_out($i); |
388 | 388 |
} |
389 | 389 |
|
390 |
$column_data{serialnr} = qq|<input name="serialnumber_$i" size="15" value="$form->{"serialnumber_$i"}">|;
|
|
390 |
$column_data{serialnr} = qq|<input name="serialnumber_$i" class="wi-normal" value="$form->{"serialnumber_$i"}" type="text">|;
|
|
391 | 391 |
$column_data{projectnr} = NTI($cgi->popup_menu( |
392 | 392 |
'-name' => "project_id_$i", |
393 | 393 |
'-values' => \@projectnumber_values, |
394 | 394 |
'-labels' => \%projectnumber_labels, |
395 |
'-default' => $form->{"project_id_$i"} |
|
395 |
'-default' => $form->{"project_id_$i"}, |
|
396 |
'-type' => "text", |
|
397 |
'-class' => "wi-normal" |
|
396 | 398 |
)); |
397 |
$column_data{reqdate} = qq|<input name="reqdate_$i" size="11" data-validate="date" value="$form->{"reqdate_$i"}">|;
|
|
399 |
$column_data{reqdate} = qq|<input name="reqdate_$i" class="wi-normal" data-validate="date" value="$form->{"reqdate_$i"}" type="text">|;
|
|
398 | 400 |
$column_data{subtotal} = sprintf qq|<input type="checkbox" name="subtotal_$i" value="1" %s>|, $form->{"subtotal_$i"} ? 'checked' : ''; |
399 | 401 |
|
400 | 402 |
# begin marge calculations |
... | ... | |
431 | 433 |
|
432 | 434 |
map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, 2) } qw(marge_absolut marge_percent); |
433 | 435 |
|
434 |
$column_data{marge} = sprintf qq|<font %s>%s %s%%</font>|,
|
|
436 |
$column_data{marge} = sprintf qq|<span class=\"data\" %s>%s %s%%</data>|,
|
|
435 | 437 |
$marge_color, $form->{"marge_absolut_$i"}, $form->{"marge_percent_$i"}; |
436 |
$column_data{listprice} = $form->format_amount(\%myconfig, $form->{"listprice_$i"}, 2);
|
|
437 |
$column_data{lastcost} = sprintf qq|<input size="5" name="lastcost_$i" value="%s">|, $form->format_amount(\%myconfig, $form->{"lastcost_$i"}, $decimalplaces);
|
|
438 |
$column_data{listprice} = "<span class=\"data\">" . $form->format_amount(\%myconfig, $form->{"listprice_$i"}, 2) . "</span>";
|
|
439 |
$column_data{lastcost} = sprintf qq|<input class="wi-normal" name="lastcost_$i" value="%s" type="text">|, $form->format_amount(\%myconfig, $form->{"lastcost_$i"}, $decimalplaces);
|
|
438 | 440 |
# / marge calculations ending |
439 | 441 |
|
440 | 442 |
# Calculate total weight |
... | ... | |
444 | 446 |
if ($form->{"id_$i"}) { |
445 | 447 |
my $part = IC->get_basic_part_info(id => $form->{"id_$i"}); |
446 | 448 |
my $onhand_color = $part->{onhand} < $part->{rop} ? 'color="#ff0000"' : ''; |
447 |
$column_data{onhand} = sprintf "<font %s>%s %s</font>",
|
|
449 |
$column_data{onhand} = sprintf "<span class=\"data\" %s>%s %s</span>",
|
|
448 | 450 |
$onhand_color, |
449 | 451 |
$form->format_amount(\%myconfig, $part->{onhand}, 2), |
450 | 452 |
$part->{unit}; |
... | ... | |
452 | 454 |
# / calculate onhand |
453 | 455 |
|
454 | 456 |
my @ROW1 = map { { value => $column_data{$_}, align => $align{$_}, nowrap => $nowrap{$_} } } grep { $column_def{$_}{display} } @header_sort; |
455 |
my @ROW2 = map { { value => sprintf "<b>%s</b> %s", $column_def{$_}{value}, $column_data{$_} } } grep { $column_def{$_}{display} } @row2_sort;
|
|
457 |
my @ROW2 = map { { value => sprintf "<span class=\"label horizontal\">%s</span> %s", $column_def{$_}{value}, "<span class=\"value\">$column_data{$_}</span>" } } grep { $column_def{$_}{display} } @row2_sort;
|
|
456 | 458 |
|
457 | 459 |
my @hidden_vars; |
458 | 460 |
# add hidden ids for persistent (item|invoice)_ids and previous (converted_from*) ids |
bin/mozilla/ir.pl | ||
---|---|---|
415 | 415 |
|
416 | 416 |
setup_ir_action_bar(); |
417 | 417 |
|
418 |
$form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted(); # moved to here from sub form_footer |
|
419 |
|
|
418 | 420 |
$form->header(); |
419 | 421 |
|
420 | 422 |
print $form->parse_html_template("ir/form_header", \%TMPL_VAR); |
... | ... | |
466 | 468 |
foreach my $item (@{ $form->{taxaccounts_array} }) { |
467 | 469 |
if ($form->{"${item}_base"}) { |
468 | 470 |
if ($form->{taxincluded}) { |
469 |
$form->{"${item}_total"} = $form->round_amount( ($form->{"${item}_base"} * $form->{"${item}_rate"} |
|
470 |
/ (1 + $form->{"${item}_rate"})), 2); |
|
471 |
$form->{"${item}_total"} = $form->round_amount( ($form->{"${item}_base"} * $form->{"${item}_rate"} / (1 + $form->{"${item}_rate"})), 2); |
|
471 | 472 |
$form->{"${item}_netto"} = $form->round_amount( ($form->{"${item}_base"} - $form->{"${item}_total"}), 2); |
472 |
} else { |
|
473 |
} |
|
474 |
else { |
|
473 | 475 |
$form->{"${item}_total"} = $form->round_amount( $form->{"${item}_base"} * $form->{"${item}_rate"}, 2); |
474 | 476 |
$form->{invtotal} += $form->{"${item}_total"}; |
475 | 477 |
} |
... | ... | |
521 | 523 |
$totalpaid += $form->{"paid_$i"}; |
522 | 524 |
} |
523 | 525 |
|
524 |
$form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted();
|
|
526 |
# $form->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted(); # moved to sub form_header
|
|
525 | 527 |
|
526 | 528 |
print $form->parse_html_template('ir/form_footer', { |
527 | 529 |
is_type_credit_note => ($form->{type} eq "credit_note"), |
bin/mozilla/oe.pl | ||
---|---|---|
320 | 320 |
t8('Update'), |
321 | 321 |
submit => [ '#form', { action => "update" } ], |
322 | 322 |
id => 'update_button', |
323 |
checks => [ 'kivi.validate_form' ], |
|
323 |
class => 'inline', |
|
324 |
checks => [ 'kivi.validate_form' ], |
|
324 | 325 |
accesskey => 'enter', |
325 | 326 |
], |
326 | 327 |
|
... | ... | |
653 | 654 |
$TMPL_VAR->{transport_cost_reminder_article} = SL::DB::Part->new(id => $::instance_conf->get_transport_cost_reminder_article_number_id)->load; |
654 | 655 |
} |
655 | 656 |
|
657 |
# following 4 lines came from form_footer, comments/notes are now in upper part of the page |
|
658 |
my $introws = max 5, $form->numtextrows($form->{intnotes}, 35, 8); |
|
659 |
|
|
660 |
my $TMPL_VAR = $::request->cache('tmpl_var', {}); |
|
661 |
|
|
662 |
$TMPL_VAR->{notes} = qq|<textarea name="notes" class="texteditor" wrap="soft" style="width: 300px; height: 150px">| . H($form->{notes}) . qq|</textarea>|; |
|
663 |
$TMPL_VAR->{intnotes} = qq|<textarea name=intnotes rows="$introws" cols="35">| . H($form->{intnotes}) . qq|</textarea>|; |
|
664 |
|
|
665 |
$TMPL_VAR->{ALL_DELIVERY_TERMS} = SL::DB::Manager::DeliveryTerm->get_all_sorted(); # moved from sub form_footer |
|
666 |
|
|
667 |
|
|
668 |
|
|
656 | 669 |
print $form->parse_html_template("oe/form_header", { |
657 | 670 |
%$TMPL_VAR, |
658 | 671 |
%type_check_vars, |
... | ... | |
672 | 685 |
|
673 | 686 |
$form->{invtotal} = $form->{invsubtotal}; |
674 | 687 |
|
675 |
my $introws = max 5, $form->numtextrows($form->{intnotes}, 35, 8); |
|
688 |
#my $introws = max 5, $form->numtextrows($form->{intnotes}, 35, 8);
|
|
676 | 689 |
|
677 | 690 |
my $TMPL_VAR = $::request->cache('tmpl_var', {}); |
678 | 691 |
|
679 |
$TMPL_VAR->{notes} = qq|<textarea name="notes" class="texteditor" wrap="soft" style="width: 350px; height: 150px">| . H($form->{notes}) . qq|</textarea>|; |
|
680 |
$TMPL_VAR->{intnotes} = qq|<textarea name=intnotes rows="$introws" cols="35">| . H($form->{intnotes}) . qq|</textarea>|; |
|
692 |
#$TMPL_VAR->{notes} = qq|<textarea name="notes" class="texteditor" wrap="soft" style="width: 350px; height: 150px">| . H($form->{notes}) . qq|</textarea>|;
|
|
693 |
#$TMPL_VAR->{intnotes} = qq|<textarea name=intnotes rows="$introws" cols="35">| . H($form->{intnotes}) . qq|</textarea>|;
|
|
681 | 694 |
|
682 | 695 |
if( $form->{customer_id} && !$form->{taxincluded_changed_by_user} ) { |
683 | 696 |
my $customer = SL::DB::Customer->new(id => $form->{customer_id})->load(); |
css/_Archiv/main-2017-08-02.less | ||
---|---|---|
1 |
/* Stylesheet for kivitendo * Name:kivitendo.css */ |
|
2 |
// |
|
3 |
/* Color table */ |
|
4 |
/* ----------- */ |
|
5 |
// |
|
6 |
/* Background: #EBEBEB burlywood */ |
|
7 |
/* Links: #006400 DarkGreen */ |
|
8 |
/* Link-hover #FE5F14 Orange / #FFFFE0 lightyellow */ |
|
9 |
/* Titles, BG/VG: #79B61B Mid-green FFFFFF White */ |
|
10 |
/* Tabcolor: #CAFFA3 */ |
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
/* Headings */ |
|
17 |
|
|
18 |
h1{ |
|
19 |
display: block; |
|
20 |
z-index: 12; |
|
21 |
position: fixed; |
|
22 |
top: 50px; |
|
23 |
width: 100%; |
|
24 |
/* siehe auch .listtop */ |
|
25 |
background-color: #9ccb21 ; /* hps: Schoen aber satt: #9ccb21, #d6ff75 */ |
|
26 |
text-align: left; |
|
27 |
padding: 0.8em 0.5em; |
|
28 |
color: #003c18 ; /* hps // #638229 // #6b7929 */ |
|
29 |
font-size:112%; |
|
30 |
font-weight: normal; /* hps */ |
|
31 |
} |
|
32 |
|
|
33 |
body.admin > h1{ |
|
34 |
top: 21px; |
|
35 |
|
|
36 |
} |
|
37 |
|
|
38 |
|
|
39 |
/* PENDENT: Tabellen? oder einfach nur DIV oder P? */ |
|
40 |
/* siehe auch H1 */ |
|
41 |
.listtop { |
|
42 |
background: none; /* #d6ff75 // hps // Schoen aber satt: #9ccb21 */ |
|
43 |
text-align: left; |
|
44 |
padding: 0.8em 0.5em; |
|
45 |
color: #666;/* #638229// hps// #6b7929 */ |
|
46 |
font-size: 112%; |
|
47 |
font-weight: normal; /* hps */ |
|
48 |
/* border-style: none; // hps */ |
|
49 |
/* border-width: thin;// hps */ |
|
50 |
/* -moz-border-radius:0.4em;// Firefox // hps */ |
|
51 |
/* -webkit-border-radius:0.4em;// Safari, Chrome // hps */ |
|
52 |
/* -khtml-border-radius:0.4em; // Konqueror // hps */ |
|
53 |
/* border-radius:0.4em;// hps */ |
|
54 |
behavior: url(border-radius.htc);/* CSS3 */ |
|
55 |
} |
|
56 |
|
|
57 |
/* siehe auch Caption in Tabellen */ |
|
58 |
#content h2, |
|
59 |
.admin h2{ |
|
60 |
padding: 0.6em 0.2em; /* hps */ |
|
61 |
/*background-color: #bcbcbc;*/ /* hps */ |
|
62 |
color: #000; /* hps */ |
|
63 |
font-size: 1.3em; /* hps */ |
|
64 |
font-weight: normal; /* hps */ |
|
65 |
text-align: left; |
|
66 |
border-style: none; |
|
67 |
} |
|
68 |
h2.confirm { |
|
69 |
color: blue; |
|
70 |
} |
|
71 |
h2.error { |
|
72 |
color: red; |
|
73 |
} |
|
74 |
|
|
75 |
/* siehe auch */ |
|
76 |
h3{ |
|
77 |
font-size: 90%; |
|
78 |
color: #000; |
|
79 |
} |
|
80 |
|
|
81 |
|
|
82 |
/* **************** */ |
|
83 |
/* Links */ |
|
84 |
/* **************** */ |
|
85 |
// |
|
86 |
a { |
|
87 |
padding: 0 0.2em; |
|
88 |
text-decoration: none; |
|
89 |
|
|
90 |
&:link, |
|
91 |
&:visited, |
|
92 |
&:active { |
|
93 |
color: #000000; |
|
94 |
/* border-bottom: thin solid #FE5F14; // hps */ |
|
95 |
} |
|
96 |
&:hover { |
|
97 |
color: #FE5F14; |
|
98 |
/* background-color: whitesmoke; // hps */ |
|
99 |
} |
|
100 |
|
|
101 |
/* spezielle Klassen */ |
|
102 |
&.selected:hover { |
|
103 |
color:#EBEBEB; |
|
104 |
} |
|
105 |
&.nomobile { |
|
106 |
background-color:transparent; |
|
107 |
border:none; |
|
108 |
} |
|
109 |
&.green { |
|
110 |
background-color: DarkGreen; |
|
111 |
color: white !important; |
|
112 |
border:none; |
|
113 |
} |
|
114 |
&.orange { |
|
115 |
background-color:#FF8000; |
|
116 |
border:none; |
|
117 |
} |
|
118 |
&.red { |
|
119 |
background-color:#FF0000; |
|
120 |
border:none; |
|
121 |
} |
|
122 |
|
|
123 |
|
|
124 |
} |
|
125 |
/* /a (Links) */ |
|
126 |
|
|
127 |
|
|
128 |
|
|
129 |
|
|
130 |
hr { |
|
131 |
background-color: #006400; |
|
132 |
border: none; |
|
133 |
color: #79B61B; |
|
134 |
height: 2px; |
|
135 |
} |
|
136 |
|
|
137 |
|
|
138 |
|
|
139 |
|
|
140 |
|
|
141 |
|
|
142 |
|
|
143 |
|
|
144 |
|
|
145 |
|
|
146 |
|
|
147 |
/* PENDENT: obsolete? */ |
|
148 |
body.menu { |
|
149 |
color: #000000; |
|
150 |
} |
|
151 |
|
|
152 |
|
|
153 |
|
|
154 |
/* |
|
155 |
* Messages & Warnings |
|
156 |
* |
|
157 |
*/ |
|
158 |
|
|
159 |
.message_ok, |
|
160 |
.message_error, |
|
161 |
.message_hint { |
|
162 |
/* |
|
163 |
font-weight: bolder; |
|
164 |
text-align: center; |
|
165 |
border-style: solid; |
|
166 |
border-width: thin; |
|
167 |
*/ |
|
168 |
padding: 5px; |
|
169 |
} |
|
170 |
.message_ok { |
|
171 |
/* |
|
172 |
background-color: #ADFFB6; |
|
173 |
*/ |
|
174 |
color: black; |
|
175 |
} |
|
176 |
.message_error { |
|
177 |
background-color: #CC0000; |
|
178 |
color: white; |
|
179 |
border-style: solid; |
|
180 |
border-width: thin; |
|
181 |
} |
|
182 |
.message_hint { |
|
183 |
/*background-color: #FFEE66;*/ |
|
184 |
color: black; |
|
185 |
} |
|
186 |
.message_error_label { |
|
187 |
padding: 0.5em; |
|
188 |
background-color: #E00000; |
|
189 |
color: white; |
|
190 |
font-weight: normal; |
|
191 |
text-align: left; |
|
192 |
border-style: solid; |
|
193 |
border-width: thin; |
|
194 |
} |
|
195 |
|
|
196 |
/* |
|
197 |
* Flash Messages |
|
198 |
* |
|
199 |
*/ |
|
200 |
|
|
201 |
.flash_message_error, |
|
202 |
.flash_message_ok, |
|
203 |
.flash_message_warning, |
|
204 |
.flash_message_info{ |
|
205 |
margin-top: 5px; |
|
206 |
margin-bottom: 5px; |
|
207 |
padding: 5px; |
|
208 |
|
|
209 |
} |
|
210 |
.flash_message_error { |
|
211 |
background-color: #FFD6D6; |
|
212 |
border: 1px solid #AE0014; |
|
213 |
} |
|
214 |
.flash_message_ok { |
|
215 |
background-color: #ADFFB6; |
|
216 |
border: 1px solid #007F0F; |
|
217 |
} |
|
218 |
.flash_message_warning { |
|
219 |
background-color: #FFE8C7; |
|
220 |
border: 1px solid #FF6600; |
|
221 |
} |
|
222 |
.flash_message_info { |
|
223 |
background-color: #DCF2FF; |
|
224 |
border: 1px solid #4690FF; |
|
225 |
} |
|
226 |
|
|
227 |
.flash_title { |
|
228 |
font-weight: bold; |
|
229 |
} |
|
230 |
|
|
231 |
/* Inline-Hinweis-Formatierung (Warnung etc.) */ |
|
232 |
.plus0 { |
|
233 |
/* font color for negative numbers */ |
|
234 |
color: red; |
|
235 |
} |
|
236 |
.plus1 { |
|
237 |
color: green; |
|
238 |
} |
|
239 |
|
|
240 |
/* PENDENT: welche Selektoren? */ |
|
241 |
/* /templates/webpages/am/edit_templates.html */ |
|
242 |
pre.filecontent { |
|
243 |
border: 1px solid blue; |
|
244 |
padding-left: 2px; |
|
245 |
padding-right: 2px; |
|
246 |
} |
|
247 |
/* PENDENT: welche Selektoren? */ |
|
248 |
/* bin/mozilla/gl.pl */ |
|
249 |
span.unbalanced_ledger { |
|
250 |
background-color: #ffa0a0; |
|
251 |
} |
|
252 |
|
|
253 |
/* /templates/webpages/requirement_spec_text_block/_text_block.html */ |
|
254 |
/* /templates/webpages/requirement_spec_item/_section_header.html */ |
|
255 |
div.dimmed-text, |
|
256 |
span.dimmed-text { |
|
257 |
color: #ccc; |
|
258 |
font-style: italic; |
|
259 |
} |
|
260 |
|
|
261 |
/* Chart-Picker-Daten in jquery.autocomplete.less verlagert */ |
|
262 |
|
|
263 |
|
|
264 |
|
|
265 |
|
|
266 |
|
|
267 |
|
|
268 |
|
|
269 |
|
|
270 |
/* gemahnte Rechnung */ |
|
271 |
/* /templates/webpages/is/form_header.html*/ |
|
272 |
/* /templates/webpages/ar/form_header.html*/ |
|
273 |
.dunned_invoice { |
|
274 |
font-weight: bold; |
|
275 |
color: #f00; |
|
276 |
} |
|
277 |
/* gemahnte Rechnung */ |
|
278 |
/* /templates/webpages/is/form_header.html*/ |
|
279 |
/* /templates/webpages/ar/form_header.html*/ |
|
280 |
.customer_dunning_level { |
|
281 |
font-weight: bold; |
|
282 |
} |
|
283 |
/* dunning */ |
|
284 |
/* ./templates/webpages/dunning/show_invoices.html*/ |
|
285 |
#dunning_invoice_list .direct_debit td, |
|
286 |
#dunning_invoice_list .direct_debit a { |
|
287 |
color: #aaa; |
|
288 |
} |
|
289 |
/* /templates/webpages/order/tabs/_row.html */ |
|
290 |
/* /templates/webpages/order/tabs/basic_data.html */ |
|
291 |
/* /js/kivi.Order.js */ |
|
292 |
#expand_all, |
|
293 |
.expand { |
|
294 |
cursor: pointer; |
|
295 |
display: block; |
|
296 |
max-width: 16px; |
|
297 |
max-height: 16px; |
|
298 |
} |
|
299 |
|
|
300 |
/* Bank transactions */ |
|
301 |
/* /templates/webpages/bank_transactions/tabs/automatic.html */ |
|
302 |
#bank_transactions_proposals .invoice_number_highlight a, |
|
303 |
#bank_transactions_proposals span.invoice_number_highlight { |
|
304 |
background-color: #006400; |
|
305 |
color: #FFFFFF; |
|
306 |
} |
|
307 |
|
|
308 |
|
|
309 |
|
|
310 |
|
|
311 |
|
|
312 |
|
|
313 |
|
|
314 |
|
|
315 |
|
css/_Archiv/tables-2017-08-02.less | ||
---|---|---|
1 |
/* -------------------- */ |
|
2 |
/* Tabellen */ |
|
3 |
/* -------------------- */ |
|
4 |
|
|
5 |
table { |
|
6 |
/*font-size: 90% !important;*/ |
|
7 |
table-layout: auto; |
|
8 |
border-spacing: 1px; /* hps */ |
|
9 |
|
|
10 |
/* Kopfzeile */s |
|
11 |
thead{ |
|
12 |
th { |
|
13 |
color: #666; |
|
14 |
font-weight: normal !important; |
|
15 |
text-align: left; |
|
16 |
vertical-align: middle; |
|
17 |
font-size: 84% ; |
|
18 |
|
|
19 |
a{ |
|
20 |
img{ |
|
21 |
vertical-align: middle; |
|
22 |
padding: 0; |
|
23 |
margin: 0; |
|
24 |
} |
|
25 |
} |
|
26 |
} |
|
27 |
} |
|
28 |
/* /thead */ |
|
29 |
|
|
30 |
tbody { |
|
31 |
tr { |
|
32 |
|
|
33 |
/* Normale Zellen (Data und Header) */ |
|
34 |
td { |
|
35 |
color: #000000; |
|
36 |
font-weight: normal; |
|
37 |
font-size: 88% ; |
|
38 |
} |
|
39 |
th { |
|
40 |
text-align: left; |
|
41 |
font-weight: normal; |
|
42 |
} |
|
43 |
} |
|
44 |
} |
|
45 |
/* /tbody */ |
|
46 |
|
|
47 |
tfoot { |
|
48 |
tr{ |
|
49 |
th, |
|
50 |
td{ |
|
51 |
vertical-align: middle; |
|
52 |
border-top: #000 1px solid ; |
|
53 |
border-bottom: #000 2px solid ; |
|
54 |
height: 1.8em; |
|
55 |
} |
|
56 |
td{ |
|
57 |
font-weight: bold; |
|
58 |
color: #000; |
|
59 |
} |
|
60 |
th{ |
|
61 |
font-weight: normal; |
|
62 |
} |
|
63 |
|
|
64 |
&:first{ |
|
65 |
td, |
|
66 |
th{ |
|
67 |
border-top: #000 2px solid ; |
|
68 |
} |
|
69 |
} |
|
70 |
} |
|
71 |
/* /tr */ |
|
72 |
} |
|
73 |
/* /tfoot */ |
|
74 |
|
|
75 |
/* muss hier am Schluss stehen, da th.caption sonst nachtraeglich uebersteuert wird */ |
|
76 |
caption, |
|
77 |
th.caption { |
|
78 |
text-align: left; |
|
79 |
font-size : 1.3em !important; |
|
80 |
font-style: italic; |
|
81 |
font-weight: normal; |
|
82 |
color: #000 !important; |
|
83 |
|
|
84 |
small { font-size : 0.6em ; } |
|
85 |
} |
|
86 |
|
|
87 |
/* Zum Testen von Tabellen-Auszeichnungen (Klasse in TABLE */ |
|
88 |
&.test{ |
|
89 |
td,th{ border: 1px solid blue !important; } |
|
90 |
} |
|
91 |
|
|
92 |
|
|
93 |
/* Tabellen mit Zebra-Effekt in Zeilen */ |
|
94 |
&.tbl-list { |
|
95 |
border-spacing: 1px; |
|
96 |
border-collapse: collapse; |
|
97 |
|
|
98 |
td, |
|
99 |
th{ |
|
100 |
padding: 0.6em ; |
|
101 |
} |
|
102 |
|
|
103 |
thead { |
|
104 |
tr { |
|
105 |
height: 3.0em; |
|
106 |
th { |
|
107 |
background-color: #B4B4B4; |
|
108 |
color: #555; |
|
109 |
font-size: 86%; |
|
110 |
font-weight: normal; |
|
111 |
} |
|
112 |
} |
|
113 |
} |
|
114 |
|
|
115 |
tbody{ |
|
116 |
tr:nth-child(odd){ |
|
117 |
background-color: #ececec; |
|
118 |
} |
|
119 |
tr:nth-child(even){ |
|
120 |
background-color: #dedede; |
|
121 |
} |
|
122 |
} |
|
123 |
tfoot{ |
|
124 |
tr{ |
|
125 |
th, |
|
126 |
td{ |
|
127 |
|
|
128 |
} |
|
129 |
} |
|
130 |
} |
|
131 |
|
|
132 |
|
|
133 |
} |
|
134 |
/* .tbl-list */ |
|
135 |
|
|
136 |
|
|
137 |
/* Tabellen mit horizontaler Ausrichtung */ |
|
138 |
&.tbl-horizontal{ |
|
139 |
/* border-top: #acacac 1px solid; */ |
|
140 |
|
|
141 |
th, |
|
142 |
td{ |
|
143 |
background-color: #ececec; |
|
144 |
font-weight: normal !important ; |
|
145 |
/* border-bottom: #acacac 1px solid; */ |
|
146 |
} |
|
147 |
th{ |
|
148 |
color: #888; |
|
149 |
font-size: 86% ; |
|
150 |
/* padding-right: 4.0em; */ |
|
151 |
vertical-align: top; |
|
152 |
} |
|
153 |
&.plain{ |
|
154 |
border-top: none; |
|
155 |
td,th{ |
|
156 |
background: none; |
|
157 |
font-size: 100%; |
|
158 |
} |
|
159 |
} |
|
160 |
caption, |
|
161 |
th.caption{ |
|
162 |
padding: 0.4em 0 0.6em 0; |
|
163 |
} |
|
164 |
|
|
165 |
} |
|
166 |
/* /.tbl-horizontal */ |
|
167 |
|
|
168 |
|
|
169 |
/* Tabellen in DIV-Dialogen */ |
|
170 |
&.tbl-dialog{ |
|
171 |
|
|
172 |
th, |
|
173 |
td{ |
|
174 |
background-color: #ececec; |
|
175 |
} |
|
176 |
th{ |
|
177 |
color: #888; |
|
178 |
font-size: 86% ; |
|
179 |
vertical-align: top; |
|
180 |
} |
|
181 |
|
|
182 |
} |
|
183 |
/* /.tbl-dialog */ |
|
184 |
|
|
185 |
/* kann nur fuer Hintergrundfarbe eingesetzt werden, Text-Ausrichtung funktioniert nicht */ |
|
186 |
colgroup{ |
|
187 |
col{ |
|
188 |
&.right { } |
|
189 |
&.center { } |
|
190 |
} |
|
191 |
} |
|
192 |
|
|
193 |
/* Breite der Tabellen */ |
|
194 |
/* Volle Breite */ |
|
195 |
&.width-full{ width: 100% ; } |
|
196 |
/* Moderate Breite, automatisch mit zusaetzlicher Polsterung */ |
|
197 |
&.width-moderate{ |
|
198 |
width: auto ; |
|
199 |
|
|
200 |
td, |
|
201 |
th { |
|
202 |
padding-left: 0.6em ; |
|
203 |
padding-right: 0.8em; |
|
204 |
} |
|
205 |
} |
|
206 |
|
|
207 |
|
|
208 |
|
|
209 |
/* Links direkt unter TD und TH */ |
|
210 |
td > a, |
|
211 |
th > a{ |
|
212 |
display: block; |
|
213 |
} |
|
214 |
|
|
215 |
|
|
216 |
|
|
217 |
|
|
218 |
/* Spezielle Header in Tabellen */ |
|
219 |
/* hps */ |
|
220 |
td h4{ |
|
221 |
font-weight: normal; |
|
222 |
margin: 0 ; |
|
223 |
padding: 0; |
|
224 |
} |
|
225 |
|
|
226 |
|
|
227 |
|
|
228 |
|
|
229 |
|
|
230 |
|
|
231 |
|
|
232 |
|
|
233 |
|
|
234 |
|
|
235 |
|
|
236 |
|
|
237 |
|
|
238 |
|
|
239 |
|
|
240 |
tr{ |
|
241 |
|
|
242 |
/* ??? */ |
|
243 |
&.rule-before th, |
|
244 |
&.rule-before td { |
|
245 |
padding-top: 2px; |
|
246 |
border-top: 2px solid #EBEBEB; |
|
247 |
} |
|
248 |
|
|
249 |
/* -------------------- */ |
|
250 |
/* Kopfzeile */ |
|
251 |
/* -------------------- */ |
|
252 |
&.listheading th { |
|
253 |
padding: 0.6em 0.2em; /* hps */ |
|
254 |
background-color: #bcbcbc; /* hps */ |
|
255 |
color: #666; /* hps */ |
|
256 |
font-size: 86%; /* hps */ |
|
257 |
font-weight: normal; /* hps */ |
|
258 |
text-align: left; |
|
259 |
border-style: none; |
|
260 |
|
|
261 |
/* hps */ |
|
262 |
a{ |
|
263 |
&:link, |
|
264 |
&:visited, |
|
265 |
&:active, |
|
266 |
&:hover { |
|
267 |
color: #000; |
|
268 |
} |
|
269 |
&:hover { |
|
270 |
text-decoration: underline; |
|
271 |
} |
|
272 |
} |
|
273 |
} /* /.listheading th */ |
|
274 |
|
|
275 |
|
|
276 |
|
|
277 |
/* -------------------- */ |
|
278 |
/* Zebra-Effekt (Obsolete)*/ |
|
279 |
/* -------------------- */ |
|
280 |
|
|
281 |
&.listrow1 td, |
|
282 |
&.listrow:nth-child(even) td { |
|
283 |
background-color: #FFFFFF; |
|
284 |
color: black; |
|
285 |
vertical-align: middle; |
|
286 |
|
|
287 |
} |
|
288 |
&.listrow0 td, |
|
289 |
&.listrow:nth-child(odd) td { |
|
290 |
background-color: #dedede; /* hps */ |
|
291 |
color: black; |
|
292 |
vertical-align: middle; |
|
293 |
} |
|
294 |
/* hps */ |
|
295 |
&.listrow0, |
|
296 |
&.listrow1{ |
|
297 |
td{ |
|
298 |
padding: 0.4em 0.2em 0.4em 0.2em; |
|
299 |
font-size: 92% !important ; |
|
300 |
} |
|
301 |
} |
|
302 |
|
|
303 |
/* -------------------- */ |
|
304 |
/* Total-Zeile (Obsolete) */ |
|
305 |
/* -------------------- */ |
|
306 |
/* hps */ |
|
307 |
/* vor .listrow* verschoben */ |
|
308 |
&.listtotal td { |
|
309 |
background-color: #ffffff; /* rgb(236,233,216) // hps */ |
|
310 |
color: black; |
|
311 |
font-weight: bold; |
|
312 |
padding: 1.0em 0.2em !important; |
|
313 |
border-bottom: 3px solid black; |
|
314 |
} |
|
315 |
|
|
316 |
|
|
317 |
|
|
318 |
|
|
319 |
|
|
320 |
|
|
321 |
} /* /tr */ |
|
322 |
|
|
323 |
|
|
324 |
|
|
325 |
|
|
326 |
|
|
327 |
|
|
328 |
|
|
329 |
|
|
330 |
|
|
331 |
|
|
332 |
|
|
333 |
|
|
334 |
|
|
335 |
|
|
336 |
colgroup{ |
|
337 |
col{ |
|
338 |
&.right td{ text-align: right; } |
|
339 |
&.center td{ text-align: center; } |
|
340 |
} |
|
341 |
} |
|
342 |
|
|
343 |
/* Breite der Tabellen */ |
|
344 |
/* Volle Breite */ |
|
345 |
&.width-full{ width: 100% ; } |
|
346 |
/* Moderate Breite, automatisch mit zusaetzlicher Polsterung */ |
|
347 |
&.width-moderate{ |
|
348 |
width: auto ; |
|
349 |
|
|
350 |
td, |
|
351 |
th { |
|
352 |
padding-left: 0.6em ; |
|
353 |
padding-right: 0.8em; |
|
354 |
} |
|
355 |
} |
|
356 |
|
|
357 |
|
|
358 |
} |
|
359 |
/* /table */ |
|
360 |
|
|
361 |
|
|
362 |
|
|
363 |
|
|
364 |
|
|
365 |
|
|
366 |
|
|
367 |
/* -------------------------- */ |
|
368 |
/* Daten innerhalb UI-Tabs */ |
|
369 |
/* -------------------------- */ |
|
370 |
// |
|
371 |
.ui-tabs-panel{ |
|
372 |
|
|
373 |
table{ |
|
374 |
/* border: 1px #000 solid; */ |
|
375 |
/* margin-left: 0.2em; */ |
|
376 |
|
|
377 |
tr{ |
|
378 |
/* background-color: #ececec !important; */ |
|
379 |
|
|
380 |
/* Zebra-Effekt */ |
|
381 |
&:nth-child(odd){ |
|
382 |
/* background-color: #ececec !important; */ |
|
383 |
} |
|
384 |
&:nth-child(even){ |
|
385 |
/* background-color: #ffffff !important; */ |
|
386 |
} |
|
387 |
|
|
388 |
td, |
|
389 |
th{ |
|
390 |
/* padding: 0.6em 0.4em 0.2em 0.2em !important; */ |
|
391 |
} |
|
392 |
th{ |
|
393 |
/* padding: 0.6em 0.4em; */ |
|
394 |
/* font-weight: normal; */ |
|
395 |
/* text-align: left; */ |
|
396 |
/* color: #666; */ |
|
397 |
/* font-size: 90% ; */ |
|
398 |
/* padding: 0 0.6em 0 0; */ |
|
399 |
} |
|
400 |
} |
|
401 |
} |
|
402 |
/* /table */ |
|
403 |
} |
|
404 |
/* .ui-tabs-panel */ |
|
405 |
|
|
406 |
|
|
407 |
|
|
408 |
|
|
409 |
|
|
410 |
|
|
411 |
/* ggf. Tabellen */ |
|
412 |
.subsubheading { |
|
413 |
color: #000000; |
|
414 |
font-weight: bolder; |
|
415 |
text-decoration: underline; |
|
416 |
} |
|
417 |
.optionen { |
|
418 |
border: dashed; |
|
419 |
border-width: 1px; |
|
420 |
background: #FFFFE0; |
|
421 |
} |
|
422 |
|
|
423 |
|
|
424 |
|
|
425 |
|
|
426 |
|
|
427 |
|
|
428 |
|
|
429 |
|
|
430 |
|
|
431 |
|
|
432 |
|
|
433 |
/* hps */ |
|
434 |
/* OBSOLETE: sollte entfernt werden */ |
|
435 |
table#display_row{ |
|
436 |
width: 90% !important; |
|
437 |
|
|
438 |
listrow0 td, |
|
439 |
listrow1 td, |
|
440 |
listheading td{ |
|
441 |
width: auto; |
|
442 |
padding: 0.4em 0.2em 0.2em 0.12em !important; |
|
443 |
} |
|
444 |
|
|
445 |
td{ |
|
446 |
&[colspan="11"] { |
|
447 |
padding-top: -0.0em !important; |
|
448 |
padding-bottom: 0.6em !important; |
|
449 |
border-bottom: 1px #666 solid; |
|
450 |
color: #666; |
|
451 |
|
|
452 |
b{ |
|
453 |
font-weight: normal; |
|
454 |
} |
|
455 |
|
|
456 |
input, |
|
457 |
font{ |
|
458 |
padding: 0 2.6em 0 0; |
|
459 |
} |
|
460 |
} |
|
461 |
} |
|
462 |
|
|
463 |
|
|
464 |
} /* /table#display_row */ |
|
465 |
|
|
466 |
|
|
467 |
|
|
468 |
|
|
469 |
|
|
470 |
|
|
471 |
.listrow_error1, |
|
472 |
.listrow_error:nth-child(even) { |
|
473 |
background-color: #F6CECE; |
|
474 |
color: black; |
|
475 |
vertical-align: top; |
|
476 |
} |
|
477 |
.listrow_error0, |
|
478 |
.listrow_error:nth-child(odd) { |
|
479 |
background-color: #F5A9A9; |
|
480 |
color: black; |
|
481 |
vertical-align: top; |
|
482 |
} |
|
483 |
.listrowempty { |
|
484 |
background-color: #FFFFFF; |
|
485 |
color: black; |
|
486 |
vertical-align: top; |
|
487 |
} |
|
488 |
.listsubtotal { |
|
489 |
background-color: rgb(236,233,216); |
|
490 |
color: black; |
|
491 |
font-weight: bolder; |
|
492 |
} |
|
493 |
|
|
494 |
/* Verkaufsbericht */ |
|
495 |
.listmainsortheader { |
|
496 |
background-color: rgb(236,233,216); |
|
497 |
color: red; |
|
498 |
font-weight: bolder; |
|
499 |
padding-left: 10px; |
|
500 |
padding-top: 0px; |
|
501 |
} |
|
502 |
.listmainsortsubtotal { |
|
503 |
background-color: rgb(236,233,216); |
|
504 |
color: red; |
|
505 |
font-weight: bolder; |
|
506 |
padding-left: 10px; |
|
507 |
} |
|
508 |
.listsubsortheader { |
|
509 |
background-color: rgb(236,233,216); |
|
510 |
color: green; |
|
511 |
font-weight: bolder; |
|
512 |
padding-left: 20px |
|
513 |
} |
|
514 |
.listsubsortsubtotal { |
|
515 |
background-color: rgb(236,233,216); |
|
516 |
color: green; |
|
517 |
font-weight: bolder; |
|
518 |
padding-left: 20px |
|
519 |
} |
|
520 |
.listsortdescription { |
|
521 |
background-color: rgb(236,233,216); |
|
522 |
color: black; |
|
523 |
font-weight: normal; |
|
524 |
padding-left: 30px |
|
525 |
} |
|
526 |
|
|
527 |
|
|
528 |
|
|
529 |
|
|
530 |
/* the cvars table in the 2. row */ |
|
531 |
.row2-cvars-table { |
|
532 |
tr { vertical-align: top } |
|
533 |
th { |
|
534 |
text-align: right; |
|
535 |
padding-left: 15px; |
|
536 |
padding-right: 0 ; |
|
537 |
} |
|
538 |
td, |
|
539 |
th { padding-top: 10px } |
|
540 |
} |
|
541 |
|
|
542 |
|
|
543 |
|
|
544 |
|
|
545 |
|
|
546 |
|
|
547 |
|
|
548 |
|
|
549 |
|
|
550 |
|
|
551 |
|
|
552 |
|
|
553 |
|
|
554 |
|
|
555 |
|
css/admin.css | ||
---|---|---|
1 |
a.no-underlined-links, |
|
2 |
a.no-underlined-links:visited, |
|
3 |
a.no-underlined-links:hover { |
|
4 |
text-decoration: none !important; |
|
5 |
background-color: transparent !important; |
|
6 |
border: none; |
|
7 |
} |
|
8 |
a.no-underlined-links:hover { |
|
9 |
background: none; |
|
10 |
} |
|
11 |
body div.admin { |
|
12 |
margin: 0 ; |
|
13 |
} |
|
14 |
body div.admin h1 { |
|
15 |
background-color: #fe5f14 !important; |
|
16 |
color: #ffffff; |
|
17 |
top: 0px ; |
|
18 |
position: fixed; |
|
19 |
width: 100% ; |
|
20 |
padding: 0.1em 0.5em 0.3em 0.6em ; |
|
21 |
} |
|
22 |
body div.admin .tabwidget { |
|
23 |
top: 35px ; |
|
24 |
padding: 1.8em 0 0 0 !important; |
|
25 |
} |
|
26 |
body div.admin .tabwidget .ui-tabs-panel { |
|
27 |
padding: 2.0em 1.0em 1.0em 1.0em ; |
|
28 |
} |
|
29 |
body div.admin form { |
|
30 |
display: block ; |
|
31 |
margin-top: 1px ; |
|
32 |
} |
|
33 |
body div.admin > form { |
|
34 |
padding-top: 3.8em ; |
|
35 |
} |
|
36 |
body div.admin .wrapper { |
|
37 |
margin-top: 4.0em ; |
|
38 |
} |
css/developement/farben#OnDisk.html | ||
---|---|---|
1 |
<!DOCTYPE html> |
|
2 |
<html lang="de"> |
|
3 |
<head> |
|
4 |
<meta charset="utf-8" /> |
|
5 |
<link href="../style.css" rel="stylesheet"> |
|
6 |
<title>Kommunikation mit Farben in Kivitendo</title> |
|
7 |
|
|
8 |
<script type="text/javascript" src="/js/jquery.js"></script> |
|
9 |
<script type="text/javascript" src="/js/common.js"></script> |
|
10 |
<script type="text/javascript" src="/js/namespace.js"></script> |
|
11 |
<script type="text/javascript" src="/js/kivi.js"></script> |
|
12 |
<script type="text/javascript" src="/js/locale/de.js"></script> |
|
13 |
<script type="text/javascript" src="/js/jquery-ui.js"></script> |
|
14 |
<script type="text/javascript" src="/js/kivi.QuickSearch.js"></script> |
|
15 |
<script type="text/javascript" src="/js/kivi.ActionBar.js"></script> |
|
16 |
<script type="text/javascript" src="/js/kivi.Draft.js"></script> |
|
17 |
<script type="text/javascript" src="/js/kivi.File.js"></script> |
|
18 |
<script type="text/javascript" src="/js/kivi.SalesPurchase.js"></script> |
|
19 |
<script type="text/javascript" src="/js/kivi.Part.js"></script> |
|
20 |
<script type="text/javascript" src="/js/ckeditor/ckeditor.js"></script> |
|
21 |
<script type="text/javascript" src="/js/ckeditor/adapters/jquery.js"></script> |
|
22 |
<script type="text/javascript" src="/js/kivi.io.js"></script> |
|
23 |
<script type="text/javascript" src="/js/autocomplete_customer.js"></script> |
|
24 |
<script type="text/javascript" src="/js/client_js.js"></script> |
|
25 |
<script type="text/javascript" src="/js/jquery.cookie.js"></script> |
|
26 |
<script type="text/javascript" src="/js/jquery.checkall.js"></script> |
|
27 |
<script type="text/javascript" src="/js/jquery.download.js"></script> |
|
28 |
<script type="text/javascript" src="/js/jquery/jquery.form.js"></script> |
|
29 |
<script type="text/javascript" src="/js/jquery/fixes.js"></script> |
|
30 |
<script type="text/javascript" src="/js/jquery/jquery.tooltipster.min.js"></script> |
|
31 |
<script type="text/javascript" src="/js/jquery/ui/i18n/jquery.ui.datepicker-de.js"></script> |
|
32 |
|
|
33 |
</head> |
|
34 |
<body class="developing"> |
|
35 |
<div class="wrapper"> |
|
36 |
|
|
37 |
<h1>Bedeutung & Anwendung von Farben in Kivitendo</h1> |
|
38 |
|
|
39 |
<h2>Buttons</h2> |
|
40 |
<form action="#"> |
|
41 |
<h3>Formular absenden (Datenmanipulation, unwiderrufbar)</h3> |
|
42 |
<p>Diese Buttons starten den Versand der Formulardaten an den Server (Submit). Aus diesem Grunde sind diese entsprechend prominent eingefärbt.</p> |
|
43 |
<div class="buttons"> |
|
44 |
<input type="submit" value="Absenden"> |
|
45 |
<input type="submit" value="Absenden" class="hover"> |
|
46 |
<input type="submit" value="Absenden" class="active"> (INPUT[submit]-Tag) <br> |
|
47 |
<button type="button">Speichern</button> |
|
48 |
<button type="button" class="hover">Speichern</button> |
|
49 |
<button type="button" class="active">Speichern</button> (BUTTON-Tag)<br> |
|
50 |
<a href="#" class="button"> |
|
51 |
<a href="#" class="button hover"> |
|
52 |
<a href="#" class="button active">Absenden</a> (A.button-Tag)<br> |
|
53 |
</div><!-- ./buttons --> |
|
54 |
|
|
55 |
<h3>Navigation & User Interface</h3> |
|
56 |
<p>Diese Buttons dienen zur Bedienung der grafischen Benutzer-Schnittstelle im Client und verursachen KEINE unwiderrufliche Datenmanipulationen auf Seiten des Servers.<br>Aus diesem Grunde wird die Klasse <b>«.neutral»</b> bereitgestellt.</p> |
|
57 |
<div class="buttons"> |
|
58 |
<input type="reset" value="Zurücksetzen" class="neutral wi-normal"> (INPUT[submit].neutral-Tag) <br> |
|
59 |
<button class="neutral wi-normal">Details anzeigen</button> (BUTTON.neutral-Tag)<br> |
|
60 |
<a href="#" class="button neutral wi-normal">Filter anzeigen</a> (A.button.neutral-Tag)<br> |
|
61 |
</div><!-- ./buttons --> |
|
62 |
</form> |
|
63 |
|
|
64 |
<h2>Nachrichten (Messages)</h2> |
|
65 |
<p>Es gibt zwei ggf. sogar drei Message-<b>Container-Varianten</b> in Kivitendo:<br><i>Flash_Messages und Old_Style</i>.<br>Dann gibt es mind. 4 <b>Message-Arten</b>:<br><i>Error, Info, Hint, Warning</i><br>Nachfolgend werden jeweils zuerst die komplexen Flash-Messages, dann die einfachen Old Style-Messages in P- & DIV-Containern aufgeführt.</p> |
|
66 |
|
|
67 |
|
|
68 |
<h3>Error</h3> |
|
69 |
|
|
70 |
<p>Fehlermeldung, die ein Grund zur Sorge sein sollten. Diese Nachrichten-Art nur in schwerwiegenden Fällen einsetzen, damit der Benutzer sofort erkennt, dass was schiefgelaufen ist.</p> |
|
71 |
<div id="flash_error" class="flash_message flash_message_error"> |
|
72 |
<a href="#flash_error" style="float:right" class="icon-close">✕</a> |
|
73 |
<span class="flash_title" style="float:left;">Fehler:</span> |
|
74 |
<div class="flash_notification" style="float:left;"> |
|
75 |
<span id="flash_error_content" class="content">Es ist ein schwerwiegender Fehler aufgetreten!</span> |
|
76 |
<span id="flash_error_disp" class="display" style="float:left;"> |
|
77 |
<a href="#flash_error" style="float:left;" onclick="$('#flash_detail_error').toggle();"> [Details] </a> |
|
78 |
</span> |
|
79 |
<div id="flash_detail_error" class="detail" style="display:none;"> |
|
80 |
<span id="flash_error_detail">Details zum aufgetretenen, schwerwiegenden Fehler. Hierbei handelt es sich aber nicht um einen Rechtschreibefehler.</span> |
|
81 |
<a href="#flash_error" style="float:left" onclick="$('#flash_detail_error').hide()" class="icon-close">✕</a> |
|
82 |
</div> |
|
83 |
</div> |
|
84 |
</div> |
|
85 |
<p class="message message_error">Es ist ein Fehler aufgetreten! (P.message_error)</p> |
|
86 |
<div class="message message_error">Es ist ein Fehler aufgetreten! (DIV.message_error)</div> |
|
87 |
|
|
88 |
|
|
89 |
<h3>Info / Hint</h3> |
|
90 |
|
|
91 |
<p>Hier handelt es sich eher um neutrale, ggf. zu ignorierende Routine-Nachrichten, die den Benutzer auch eine gewisse Sicherheit geben sollten. Nicht im Übermass einsetzen, da die Benutzer das Kivitendo-System u.U. täglich bedienen müssen.</p> |
|
92 |
<div id="flash_info" class="flash_message flash_message_info"> |
|
93 |
<a href="#flash_info" style="float:right" class="icon-close">✕</a> |
|
94 |
<span class="flash_title" style="float:left;">Information:</span> |
|
95 |
<div class="flash_notification" style="float:left;"> |
|
96 |
<span id="flash_info_content" class="content">Absolut kein Grund zur Beunruhigung, aber lesen sollten Sie die Nachricht vielleicht einmal in Ihrem Leben.</span> |
|
97 |
<span id="flash_info_disp" class="display" style="float:left;"> |
|
98 |
<a href="#flash_info" style="float:left;" onclick="$('#flash_detail_info').toggle();"> [Details] </a> |
|
99 |
</span> |
|
100 |
<div id="flash_detail_info" class="detail" style="display:none;"> |
|
101 |
<span id="flash_info_detail">Manchmal ist es einfacher, solche Nachrichten zu lesen als gleich das Manual durchrackern zu müssen, was sowieso nur wenige Prozent der Kivitendo-Nutzer machen, ausser eben die karrierebewussten Anwender oder die innerbetrieblich Verantwortlichen.</span> |
|
102 |
<a href="#flash_info" style="float:left" onclick="$('#flash_detail_info').hide()" class="icon-close">✕</a> |
|
103 |
</div> |
|
104 |
</div> |
|
105 |
</div> |
|
106 |
<p class="message message_hint">Es wurden keine Dokumente gefunden, was durchaus korrekt sein kann! (P.message_<b>hint</b>)</p> |
|
107 |
<div class="message message_hint">Die Buchungen sind noch nicht abgespeichert worden! (DIV.message_<b>hint</b>)</div> |
|
108 |
|
|
109 |
|
|
110 |
<h3>Warning</h3> |
Auch abrufbar als: Unified diff
Änderungen HP Design