[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SF.net SVN: ledger-smb: [1851] trunk
- Subject: SF.net SVN: ledger-smb: [1851] trunk
- From: ..hidden..
- Date: Mon, 05 Nov 2007 07:11:08 -0800
Revision: 1851
http://ledger-smb.svn.sourceforge.net/ledger-smb/?rev=1851&view=rev
Author: tetragon
Date: 2007-11-05 07:11:03 -0800 (Mon, 05 Nov 2007)
Log Message:
-----------
Templating the pricelist, needs more testing
Modified Paths:
--------------
trunk/UI/form-dynatable.html
trunk/bin/ct.pl
Modified: trunk/UI/form-dynatable.html
===================================================================
--- trunk/UI/form-dynatable.html 2007-11-05 15:06:14 UTC (rev 1850)
+++ trunk/UI/form-dynatable.html 2007-11-05 15:11:03 UTC (rev 1851)
@@ -43,10 +43,14 @@
<tr class="<?lsmb c ?>">
<?lsmb FOREACH column IN columns ?>
<<?lsmb s ?> class="<?lsmb c ?>" <?lsmb IF (!row.class.defined || row.class != 'heading') && row_alignment.$column ?>align="<?lsmb row_alignment.$column ?>"<?lsmb END ?>>
- <?lsmb IF row.$column.href ?>
+ <?lsmb IF row.$column.href.defined ?>
<a href="<?lsmb row.$column.href?>"><?lsmb row.$column.text ?></a>
<?lsmb ELSIF row.$column.delimiter;
FOREACH l IN row.$column.text.split(row.$column.delimiter); l ?><br /><?lsmb END ?>
+ <?lsmb ELSIF row.$column.input.defined;
+ PROCESS input element_data=row.$column.input ?>
+ <?lsmb ELSIF row.$column.select.defined;
+ PROCESS select element_data=row.$column.select ?>
<?lsmb ELSE; row.$column; END ?>
</<?lsmb s ?>>
<?lsmb END ?>
Modified: trunk/bin/ct.pl
===================================================================
--- trunk/bin/ct.pl 2007-11-05 15:06:14 UTC (rev 1850)
+++ trunk/bin/ct.pl 2007-11-05 15:11:03 UTC (rev 1851)
@@ -1524,9 +1524,10 @@
# currencies
@curr = split /:/, $form->{currencies};
- for (@curr) { $form->{selectcurrency} .= "<option>$_\n" }
+ $form->{selectcurrency} = [];
+ for (@curr) {push @{$form->{selectcurrency}}, {text => $_, value => $_}}
- if ( @{ $form->{all_partsgroup} } ) {
+ if (ref $form->{all_partsgroup} eq 'ARRAY') {
$form->{selectpartsgroup} = "";
foreach $ref ( @{ $form->{all_partsgroup} } ) {
$form->{selectpartsgroup} .= qq|$ref->{partsgroup}--$ref->{id}\n|;
@@ -1567,7 +1568,7 @@
sub customer_pricelist {
- @flds =
+ my @flds =
qw(runningnumber id partnumber description sellprice unit partsgroup pricebreak curr validfrom validto);
$form->{rowcount}--;
@@ -1635,7 +1636,7 @@
sub vendor_pricelist {
- @flds =
+ my @flds =
qw(runningnumber id sku partnumber description lastcost unit partsgroup curr leadtime);
$form->{rowcount}--;
@@ -1686,49 +1687,30 @@
sub display_pricelist {
my %hiddens;
- &pricelist_header(\%hiddens);
+ my $buttons = &pricelist_footer;
delete $form->{action};
- $form->hide_form;
$hiddens{$_} = $form->{$_} foreach sort keys %$form;
- &pricelist_footer(\%hiddens);
-
+ &pricelist_header(\%hiddens, $buttons);
}
sub pricelist_header {
+ my $hiddens = shift;
+ my $buttons = shift;
$form->{title} = $form->{name};
- $form->header;
+ my @column_index;
+ my %column_header;
- print qq|
-<body>
-
-<form method=post action="$form->{script}">
-
-<table width=100%>
- <tr>
- <th class=listtop>$form->{title}</th>
- </tr>
- <tr height="5"></tr>
-|;
-
if ( $form->{db} eq 'customer' ) {
@column_index = qw(partnumber description);
push @column_index, "partsgroup" if $form->{selectpartsgroup};
push @column_index, qw(pricebreak sellprice curr validfrom validto);
- $column_header{pricebreak} =
- qq|<th class=listheading nowrap>|
- . $locale->text('Break')
- . qq|</th>|;
- $column_header{sellprice} =
- qq|<th class=listheading nowrap>|
- . $locale->text('Sell Price')
- . qq|</th>|;
- $column_header{validfrom} =
- qq|<th class=listheading nowrap>| . $locale->text('From') . qq|</th>|;
- $column_header{validto} =
- qq|<th class=listheading nowrap>| . $locale->text('To') . qq|</th>|;
+ $column_header{pricebreak} = $locale->text('Break');
+ $column_header{sellprice} = $locale->text('Sell Price');
+ $column_header{validfrom} = $locale->text('From');
+ $column_header{validto} = $locale->text('To');
}
if ( $form->{db} eq 'vendor' ) {
@@ -1736,172 +1718,152 @@
push @column_index, "partsgroup" if $form->{selectpartsgroup};
push @column_index, qw(lastcost curr leadtime);
- $column_header{sku} =
- qq|<th class=listheading nowrap>| . $locale->text('SKU') . qq|</th>|;
- $column_header{leadtime} =
- qq|<th class=listheading nowrap>|
- . $locale->text('Leadtime')
- . qq|</th>|;
- $column_header{lastcost} =
- qq|<th class=listheading nowrap>| . $locale->text('Cost') . qq|</th>|;
+ $column_header{sku} = $locale->text('SKU');
+ $column_header{leadtime} = $locale->text('Leadtime');
+ $column_header{lastcost} = $locale->text('Cost');
}
- $column_header{partnumber} =
- qq|<th class=listheading nowrap>| . $locale->text('Number') . qq|</th>|;
- $column_header{description} =
- qq|<th class=listheading nowrap width=80%>|
- . $locale->text('Description')
- . qq|</th>|;
- $column_header{partsgroup} =
- qq|<th class=listheading nowrap>| . $locale->text('Group') . qq|</th>|;
- $column_header{curr} =
- qq|<th class=listheading nowrap>| . $locale->text('Curr') . qq|</th>|;
+ $column_header{partnumber} = $locale->text('Number');
+ $column_header{description} = $locale->text('Description'); #80% width
+ $column_header{partsgroup} = $locale->text('Group');
+ $column_header{curr} = $locale->text('Curr');
- print qq|
- <tr>
- <td>
- <table width=100%>
- <tr class=listheading>
-|;
-
- for (@column_index) { print "\n$column_header{$_}" }
-
- print qq|
- </tr>
-|;
-
$sameid = "";
- foreach $i ( 1 .. $form->{rowcount} ) {
+ my @rows;
+ foreach my $i ( 1 .. $form->{rowcount} ) {
+ my %column_data;
- $selectcurrency = $form->{selectcurrency};
- $selectcurrency =~
- s/option>\Q$form->{"curr_$i"}\E/option selected>$form->{"curr_$i"}/;
-
if ( $form->{selectpartsgroup} ) {
if ( $i < $form->{rowcount} ) {
($partsgroup) = split /--/, $form->{"partsgroup_$i"};
- $column_data{partsgroup} = qq|<td>$partsgroup</td>
- <input type=hidden name="partsgroup_$i" value="|
- . $form->quote( $form->{"partsgroup_$i"} ) . qq|">|;
+ $hiddens->{"partsgroup_$i"} = $form->{"partsgroup_$i"};
+ $column_data{partsgroup} = $partsgroup;
}
}
if ( $i < $form->{rowcount} ) {
-
if ( $form->{"id_$i"} eq $sameid ) {
for (qw(partnumber description partsgroup)) {
- $column_data{$_} = qq|<td> </td>
- <input type=hidden name="${_}_$i" value="|
- . $form->quote( $form->{"${_}_$i"} ) . qq|">|;
+ $hiddens->{"${_}_$i"} = $form->{"${_}_$i"};
+ $column_data{$_} = ' ';
}
+ } else {
+ $column_data{sku} = {input => {
+ name => "sku_$i",
+ value => $form->{"sku_$i"}
+ }};
+ $column_data{partnumber} = {input => {
+ name => "partnumber_$i",
+ value => $form->{"partnumber_$i"}
+ }};
+ $column_data{description} =$form->{"description_$i"};
+ $hiddens->{"description_$i"} = $form->{"description_$i"};
}
- else {
-
- $column_data{sku} =
- qq|<td><input name="sku_$i" value="$form->{"sku_$i"}"></td>|;
- $column_data{partnumber} =
-qq|<td><input name="partnumber_$i" value="$form->{"partnumber_$i"}"></td>|;
-
- $column_data{description} =
- qq|<td>$form->{"description_$i"} </td>
- <input type=hidden name="description_$i" value="|
- . $form->quote( $form->{"description_$i"} ) . qq|">|;
-
- }
-
- $column_data{partnumber} .= qq|
- <input type=hidden name="id_$i" value="$form->{"id_$i"}">|;
-
- }
- else {
-
+ $hiddens->{"id_$i"} = $form->{"id_$i"};
+ } else {
if ( $form->{db} eq 'customer' ) {
- $column_data{partnumber} =
-qq|<td><input name="partnumber_$i" value="$form->{"partnumber_$i"}"></td>|;
+ $column_data{partnumber} = {input => {
+ name => "partnumber_$i",
+ value => $form->{"partnumber_$i"}
+ }};
+ } else {
+ $column_data{partnumber} = ' ';
}
- else {
- $column_data{partnumber} = qq|<td> </td>|;
- }
- $column_data{partnumber} .= qq|
- <input type=hidden name="id_$i" value="$form->{"id_$i"}">|;
+ $hiddens->{"id_$i"} = $form->{"id_$i"};
- $column_data{sku} =
- qq|<td><input name="sku_$i" value="$form->{"sku_$i"}"></td>|;
- $column_data{description} =
-qq|<td><input name="description_$i" value="$form->{"description_$i"}"></td>|;
+ $column_data{sku} = {input => {
+ name => "sku_$i",
+ value => $form->{"sku_$i"}
+ }};
+ $column_data{partnumber} = {input => {
+ name => "partnumber_$i",
+ value => $form->{"partnumber_$i"}
+ }};
if ( $form->{selectpartsgroup} ) {
- $selectpartsgroup = "<option>";
+ @selectpartsgroup = ({text => '', value => ''});
foreach $line ( split /\n/, $form->{selectpartsgroup} ) {
- $selectpartsgroup .=
- qq|\n<option value="|
- . $form->quote($line) . qq|">|
- . ( split /--/, $line )[0];
+ push @selectpartsgroup, {
+ text => (split /--/, $line)[0],
+ value => $line,
+ };
}
- $column_data{partsgroup} =
-qq|<td><select name="partsgroup_$i">$selectpartsgroup</select></td>|;
+ $column_data{partsgroup} = {'select' => {
+ name => "partnumber_$i",
+ options => ..hidden..,
+ }};
}
-
}
if ( $form->{db} eq 'customer' ) {
- $column_data{pricebreak} =
- qq|<td align=right><input name="pricebreak_$i" size=5 value=|
- . $form->format_amount( \%myconfig, $form->{"pricebreak_$i"} )
- . qq|></td>|;
- $column_data{sellprice} =
- qq|<td align=right><input name="sellprice_$i" size=10 value=|
- . $form->format_amount( \%myconfig, $form->{"sellprice_$i"}, 2 )
- . qq|></td>|;
-
- $column_data{validfrom} =
-qq|<td><input name="validfrom_$i" size=11 value=$form->{"validfrom_$i"}></td>|;
- $column_data{validto} =
-qq|<td><input name="validto_$i" size=11 value=$form->{"validto_$i"}></td>|;
+ $column_data{pricebreak} = {input => {
+ name => "pricebreak_$i",
+ size => 5,
+ value => $form->format_amount(\%myconfig, $form->{"pricebreak_$i"})
+ }};
+ $column_data{sellprice} = {input => {
+ name => "sellprice_$i",
+ size => 10,
+ value => $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, 2)
+ }};
+ $column_data{validfrom} = {input => {
+ name => "validfrom_$i",
+ size => 11,
+ value => $form->{"validfrom_$i"},
+ }};
+ $column_data{validto} = {input => {
+ name => "validto_$i",
+ size => 11,
+ value => $form->{"validto_$i"},
+ }};
}
if ( $form->{db} eq 'vendor' ) {
- $column_data{leadtime} =
- qq|<td align=right><input name="leadtime_$i" size=5 value=|
- . $form->format_amount( \%myconfig, $form->{"leadtime_$i"} )
- . qq|></td>|;
- $column_data{lastcost} =
- qq|<td align=right><input name="lastcost_$i" size=10 value=|
- . $form->format_amount( \%myconfig, $form->{"lastcost_$i"}, 2 )
- . qq|></td>|;
+ $column_data{leadtime} = {input => {
+ name => "leadtime_$i",
+ size => 5,
+ value => $form->format_amount(\%myconfig, $form->{"leadtime_$i"})
+ }};
+ $column_data{lastcost} = {input => {
+ name => "lastcost_$i",
+ size => 10,
+ value => $form->format_amount( \%myconfig, $form->{"lastcost_$i"}, 2 )
+ }};
}
- $column_data{curr} =
- qq|<td><select name="curr_$i">$selectcurrency</select></td>|;
-
- print qq|<tr valign=top>|;
-
- for (@column_index) { print "\n$column_data{$_}" }
-
- print qq|</tr>|;
-
+ $column_data{curr} = {'select' => {
+ name => "curr_$i",
+ options => $form->{selectcurrency},
+ default_values => $form->{"curr_$i"},
+ }};
$sameid = $form->{"id_$i"};
+ push @rows, \%column_data;
}
- print qq|
- </table>
- </td>
- </tr>
- <tr>
- <td><hr size=3 noshade></td>
- </tr>
-</table>
-|;
-
# delete variables
foreach $i ( 1 .. $form->{rowcount} ) {
for ( @column_index, "id" ) { delete $form->{"${_}_$i"} }
}
for (qw(title titlebar script none)) { delete $form->{$_} }
+ my $template = LedgerSMB::Template->new_UI(
+ user => \%myconfig,
+ locale => $locale,
+ template => 'form-dynatable',
+ );
+ $template->render({
+ form => $form,
+ user => \%myconfig,
+ hiddens => $hiddens,
+ buttons => $buttons,
+ options => ..hidden..,
+ rows => ..hidden..,
+ columns => ..hidden..,
+ heading => \%column_header,
+ });
}
sub pricelist_footer {
@@ -1915,17 +1877,18 @@
{ ndx => 3, key => 'S', value => $locale->text('Save Pricelist') },
);
+ my @buttons;
for ( sort { $button{$a}->{ndx} <=> $button{$b}->{ndx} } keys %button ) {
- $form->print_button( \%button, $_ );
+ push @buttons, {
+ name => 'action',
+ value => $_,
+ accesskey => $button{$_}{key},
+ title => "$button{$name}{value} [Alt-$button{$_}{key}]",
+ text => $button{$_}{value},
+ };
}
- print qq|
-</form>
-
-</body>
-</html>
-|;
-
+ ..hidden..;
}
sub update {
@@ -1992,8 +1955,7 @@
$form->{"pricebreak_$i"} = $pricebreak;
- }
- else {
+ } else {
foreach $j ( 1 .. $form->{rowcount} - 1 ) {
if ( $form->{"sku_$j"} eq $form->{"partnumber_$i"} ) {
@@ -2020,11 +1982,8 @@
}
- }
- else {
-
+ } else {
$form->error( $locale->text('Item not on file!') );
-
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.