Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 922f961c

Von G. Richardson vor mehr als 6 Jahren hinzugefügt

  • ID 922f961cb091c49dbc02693faf50382ceb9cd5a2
  • Vorgänger 1d1f3140

Änderungen HP Design

Unterschiede anzeigen:

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 &nbsp;%s%%</font>|,
436
    $column_data{marge} = sprintf qq|<span class=\"data\" %s>%s &nbsp;%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 &amp; 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 &amp; 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>
... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen überschreitet.

Auch abrufbar als: Unified diff