[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SF.net SVN: ledger-smb: [1843] trunk



Revision: 1843
          http://ledger-smb.svn.sourceforge.net/ledger-smb/?rev=1843&view=rev
Author:   tetragon
Date:     2007-11-02 20:01:24 -0700 (Fri, 02 Nov 2007)

Log Message:
-----------
Template search forms for rp.pl
Templating of bin/rp.pl done

Modified Paths:
--------------
    trunk/bin/rp.pl

Added Paths:
-----------
    trunk/UI/rp-search-aging.html
    trunk/UI/rp-search-balance_sheet.html
    trunk/UI/rp-search-generate_tax_report.html
    trunk/UI/rp-search-generate_trial_balance.html
    trunk/UI/rp-search-income_statement.html
    trunk/UI/rp-search-inv_activity.html
    trunk/UI/rp-search-payments.html
    trunk/UI/rp-search-projects.html
    trunk/UI/rp-search.html

Added: trunk/UI/rp-search-aging.html
===================================================================
--- trunk/UI/rp-search-aging.html	                        (rev 0)
+++ trunk/UI/rp-search-aging.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,108 @@
+      <tr>
+        <th align="right"><?lsmb text(form.uvc) ?></th>
+        <td><?lsmb PROCESS $form.vci.type element_data=form.vci.input ?></td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'todate',
+        size => '11',
+        title => user.dateformat,
+        } ?></td>
+      </tr>
+      <tr>
+        <th></th>
+        <td>
+<?lsmb IF form.selectaccountingyear.defined ?>
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+<?lsmb END ?>
+        </td>
+      </tr>
+      <tr>
+        <th></th>
+        <td>
+<?lsmb PROCESS input element_data={
+  type => 'radio',
+  name => 'summary',
+  value => '1',
+  label => text('Summary'),
+  checked => 'checked',
+  } -?>
+<?lsmb PROCESS input element_data={
+  type => 'radio',
+  name => 'summary',
+  value => '0',
+  label => text('Detail'),
+  } -?>
+        </td>
+      </tr>
+      <tr><td colspan="2">
+        <table>
+          <tr>
+            <th align="right"><?lsmb text('Include in Report') ?></th>
+            <td>
+              <table>
+                <tr>
+                  <td>
+<?lsmb PROCESS input element_data={
+  name => 'overdue',
+  type => 'radio',
+  value => '0',
+  label => text('Aged'),
+  checked => 'checked',
+  } -?>
+                  </td>
+                  <td>
+<?lsmb PROCESS input element_data={
+  name => 'overdue',
+  type => 'radio',
+  value => '1',
+  label => text('Overdue'),
+  } -?>
+                  </td>
+                </tr>
+                <tr>
+                  <td width="70">
+<?lsmb PROCESS input element_data={
+  name => 'c0',
+  type => 'checkbox',
+  value => '1',
+  label => text('Current'),
+  checked => 'checked',
+  } -?>
+                  </td>
+                  <td width="70">
+<?lsmb PROCESS input element_data={
+  name => 'c30',
+  type => 'checkbox',
+  value => '1',
+  label => '30',
+  checked => 'checked',
+  } -?>
+                  </td>
+                  <td width="70">
+<?lsmb PROCESS input element_data={
+  name => 'c60',
+  type => 'checkbox',
+  value => '1',
+  label => '60',
+  checked => 'checked',
+  } -?>
+                  </td>
+                  <td width="70">
+<?lsmb PROCESS input element_data={
+  name => 'c90',
+  type => 'checkbox',
+  value => '1',
+  label => '90',
+  checked => 'checked',
+  } -?>
+                  </td>
+                </tr>
+              </table>
+            </td>
+          </tr>
+        </table></td>
+      </tr>

Added: trunk/UI/rp-search-balance_sheet.html
===================================================================
--- trunk/UI/rp-search-balance_sheet.html	                        (rev 0)
+++ trunk/UI/rp-search-balance_sheet.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,97 @@
+      <tr>
+        <th align="right"><?lsmb text('as at') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'asofdate',
+        size => '11',
+        title => user.dateformat,
+        value => form.asofdate,
+        } ?></td>
+        <td colspan="2">
+<?lsmb IF form.selectaccountingyear.defined ?>
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+<?lsmb END ?>
+        </td>
+      </tr>
+      <tr><th align="right"><?lsmb text('Compare to') ?></th><td colspan="3" /></tr>
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'compareasofdate',
+        size => '11',
+        title => user.dateformat,
+        } ?></td>
+        <td>
+<?lsmb IF form.selectaccountingyear.defined;
+  compare_month = {
+    options => form.selectaccountingmonth.options,
+    name => 'compareasofmonth',
+    };
+  compare_year = {
+    options => form.selectaccountingyear.options,
+    name => 'compareasofyear',
+    };
+ -?>
+  <?lsmb PROCESS select element_data=compare_month -?>
+  <?lsmb PROCESS select element_data=compare_year -?>
+<?lsmb END ?>
+        </td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('Decimal Places') ?></th>
+        <td colspan="3"><?lsmb PROCESS input element_data={
+  name => 'decimalplaces',
+  size => '3',
+  value => '2',
+  } ?>
+        </td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+  <td>
+    <table>
+      <tr>
+        <th align="right"><?lsmb text('Method') ?></th>
+        <td colspan="3">
+<?lsmb PROCESS input element_data={
+  name => 'method',
+  type => 'radio',
+  value => 'accrual',
+  label => text('Accrual'),
+  checked => 'checked',
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'method',
+  type => 'radio',
+  value => 'cash',
+  label => text('Cash'),
+  } -?>
+        </td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('Include in Report') ?></th>
+        <td colspan="3">
+<?lsmb PROCESS input element_data={
+  name => 'l_heading',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Heading'),
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'l_subtotal',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Subtotal'),
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'l_accno',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Account Number'),
+  } -?>
+        </td>
+      </tr>

Added: trunk/UI/rp-search-generate_tax_report.html
===================================================================
--- trunk/UI/rp-search-generate_tax_report.html	                        (rev 0)
+++ trunk/UI/rp-search-generate_tax_report.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,199 @@
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'fromdate',
+        size => '11',
+        title => user.dateformat,
+        value => form.fromdate,
+        } ?></td>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'todate',
+        size => '11',
+        title => user.dateformat,
+        value => form.todate,
+        } ?></td>
+      </tr>
+<?lsmb IF form.selectaccountingyear.defined ?>
+      <tr>
+        <th align="right"><?lsmb text('Period') ?></th>
+        <td colspan="3">
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '0',
+    label => text('Current'),
+    checked => 'checked',
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '1',
+    label => text('Month'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '3',
+    label => text('Quarter'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '12',
+    label => text('Year'),
+    } -?>
+        </td>
+      </tr>
+<?lsmb END ?>
+      <tr>
+        <th></th>
+        <td>
+<?lsmb PROCESS input element_data={
+  type => 'radio',
+  name => 'summary',
+  value => '1',
+  label => text('Summary'),
+  checked => 'checked',
+  } -?>
+<?lsmb PROCESS input element_data={
+  type => 'radio',
+  name => 'summary',
+  value => '0',
+  label => text('Detail'),
+  } -?>
+        </td>
+      </tr>
+<?lsmb IF form.report.matches('^tax_') ?>
+      <tr>
+        <th align="right"><?lsmb text('Report for') ?></th>
+        <td colspan="3">
+  <?lsmb FOREACH account IN form.taxaccountlist;
+    PROCESS input element_data=account;
+  END -?>
+        </td>
+      </tr>
+  <?lsmb IF form.gifitaxaccountlist.defined -?>
+      <tr>
+        <th align="right"><?lsmb text('GIFI') ?></th>
+        <td colspan="3">
+    <?lsmb FOREACH account IN form.gifitaxaccountlist;
+      PROCESS input element_data=account;
+    END -?>
+        </td>
+      </tr>
+  <?lsmb END -?>
+<?lsmb END -?>
+      <tr>
+        <th align="right"><?lsmb text('Method') ?></th>
+        <td colspan="3">
+<?lsmb PROCESS input element_data={
+  name => 'method',
+  type => 'radio',
+  value => 'accrual',
+  label => text('Accrual'),
+  checked => 'checked',
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'method',
+  type => 'radio',
+  value => 'cash',
+  label => text('Cash'),
+  } -?>
+        </td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+  <td>
+    <table>
+      <tr>
+        <th align="right"><?lsmb text('Include in Report') ?></th>
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_id',
+  type => 'checkbox',
+  value => 'Y',
+  } -?>
+        </td><td><?lsmb text('ID') ?></td>
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_invnumber',
+  type => 'checkbox',
+  value => 'Y',
+  checked => 'checked',
+  } -?>
+        </td><td><?lsmb text('Invoice') ?></td>
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_transdate',
+  type => 'checkbox',
+  value => 'Y',
+  checked => 'checked',
+  } -?>
+        </td><td><?lsmb text('Date') ?></td>
+      </tr>
+      <tr>
+        <td />
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_name',
+  type => 'checkbox',
+  value => 'Y',
+  checked => 'checked',
+  } -?>
+        </td><td><?lsmb IF form.db == 'ar';
+  text('Customer');
+ELSIF form.db == 'ap';
+  text('Vendor');
+END ?></td>
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_description',
+  type => 'checkbox',
+  value => 'Y',
+  checked => 'checked',
+  } -?>
+        </td><td><?lsmb text('Description') ?></td>
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_netamount',
+  type => 'checkbox',
+  value => 'Y',
+  checked => 'checked',
+  } -?>
+        </td><td><?lsmb text('Amount') ?></td>
+<?lsmb IF form.report.matches('^tax_') ?>
+        <td>
+  <?lsmb PROCESS input element_data={
+    name => 'l_tax',
+    type => 'checkbox',
+    value => 'Y',
+    checked => 'checked',
+    } -?>
+        </td><td><?lsmb text('Tax') ?></td>
+        <td>
+  <?lsmb PROCESS input element_data={
+    name => 'l_total',
+    type => 'checkbox',
+    value => 'Y',
+    checked => 'checked',
+    } -?>
+        </td><td><?lsmb text('Total') ?></td>
+      </tr>
+      <tr>
+        <td />
+<?lsmb END ?>
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_subtotal',
+  type => 'checkbox',
+  value => 'Y',
+  } -?>
+        </td><td><?lsmb text('Subtotal') ?></td>
+      </tr>

Added: trunk/UI/rp-search-generate_trial_balance.html
===================================================================
--- trunk/UI/rp-search-generate_trial_balance.html	                        (rev 0)
+++ trunk/UI/rp-search-generate_trial_balance.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,81 @@
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'fromdate',
+        size => '11',
+        title => user.dateformat,
+        value => form.fromdate,
+        } ?></td>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'todate',
+        size => '11',
+        title => user.dateformat,
+        value => form.todate,
+        } ?></td>
+      </tr>
+<?lsmb IF form.selectaccountingyear.defined ?>
+      <tr>
+        <th align="right"><?lsmb text('Period') ?></th>
+        <td colspan="3">
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '0',
+    label => text('Current'),
+    checked => 'checked',
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '1',
+    label => text('Month'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '3',
+    label => text('Quarter'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '12',
+    label => text('Year'),
+    } -?>
+        </td>
+      </tr>
+<?lsmb END ?>
+    </table>
+  </td>
+</tr>
+<tr>
+  <td>
+    <table>
+      <tr>
+        <th align="right"><?lsmb text('Include in Report') ?></th>
+        <td colspan="3">
+<?lsmb PROCESS input element_data={
+  name => 'l_heading',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Heading'),
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'l_subtotal',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Subtotal'),
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'all_accounts',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('All Accounts'),
+  } -?>
+        </td>
+      </tr>

Added: trunk/UI/rp-search-income_statement.html
===================================================================
--- trunk/UI/rp-search-income_statement.html	                        (rev 0)
+++ trunk/UI/rp-search-income_statement.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,147 @@
+      <tr>
+        <th align="right"><?lsmb text('Project') ?></th>
+        <td colspan="3"><?lsmb PROCESS select element_data=form.selectproject ?></td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'fromdate',
+        size => '11',
+        title => user.dateformat,
+        value => form.fromdate,
+        } ?></td>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'todate',
+        size => '11',
+        title => user.dateformat,
+        value => form.todate,
+        } ?></td>
+      </tr>
+<?lsmb IF form.selectaccountingyear.defined ?>
+      <tr>
+        <th align="right"><?lsmb text('Period') ?></th>
+        <td colspan="3">
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '0',
+    label => text('Current'),
+    checked => 'checked',
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '1',
+    label => text('Month'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '3',
+    label => text('Quarter'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '12',
+    label => text('Year'),
+    } -?>
+        </td>
+      </tr>
+<?lsmb END ?>
+      <tr><th align="right"><?lsmb text('Compare to') ?></th><td colspan="3" /></tr>
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'comparefromdate',
+        size => '11',
+        title => user.dateformat,
+        } ?></td>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'comparetodate',
+        size => '11',
+        title => user.dateformat,
+        } ?></td>
+      </tr>
+<?lsmb IF form.selectaccountingyear.defined;
+  compare_month = {
+    options => form.selectaccountingmonth.options,
+    name => 'comparemonth',
+    };
+  compare_year = {
+    options => form.selectaccountingyear.options,
+    name => 'compareyear',
+    };
+ -?>
+      <tr>
+        <th align="right"><?lsmb text('Period') ?></th>
+        <td colspan="3">
+  <?lsmb PROCESS select element_data=compare_month -?>
+  <?lsmb PROCESS select element_data=compare_year -?>
+        </td>
+      </tr>
+<?lsmb END ?>
+      <tr>
+        <th align="right"><?lsmb text('Decimal Places') ?></th>
+        <td colspan="3"><?lsmb PROCESS input element_data={
+  name => 'decimalplaces',
+  size => '3',
+  value => '2',
+  } ?>
+        </td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+  <td>
+    <table>
+      <tr>
+        <th align="right"><?lsmb text('Method') ?></th>
+        <td colspan="3">
+<?lsmb PROCESS input element_data={
+  name => 'method',
+  type => 'radio',
+  value => 'accrual',
+  label => text('Accrual'),
+  checked => 'checked',
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'method',
+  type => 'radio',
+  value => 'cash',
+  label => text('Cash'),
+  } -?>
+        </td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('Include in Report') ?></th>
+        <td colspan="3">
+<?lsmb PROCESS input element_data={
+  name => 'l_heading',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Heading'),
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'l_subtotal',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Subtotal'),
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'l_accno',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Account Number'),
+  } -?>
+        </td>
+      </tr>

Added: trunk/UI/rp-search-inv_activity.html
===================================================================
--- trunk/UI/rp-search-inv_activity.html	                        (rev 0)
+++ trunk/UI/rp-search-inv_activity.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,60 @@
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'fromdate',
+        size => '11',
+        title => user.dateformat,
+        value => form.fromdate,
+        } ?></td>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'todate',
+        size => '11',
+        title => user.dateformat,
+        value => form.todate,
+        } ?></td>
+      </tr>
+<?lsmb IF form.selectaccountingyear.defined ?>
+      <tr>
+        <th align="right"><?lsmb text('Period') ?></th>
+        <td colspan="3">
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '0',
+    label => text('Current'),
+    checked => 'checked',
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '1',
+    label => text('Month'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '3',
+    label => text('Quarter'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '12',
+    label => text('Year'),
+    } -?>
+        </td>
+      </tr>
+<?lsmb END ?>
+    </table>
+    <table>
+      <tr>
+        <th><?lsmb text('Part Number') ?></th>
+        <td><?lsmb PROCESS input element_data={name => 'partnumber'} ?></td>
+        <th><?lsmb text('Description') ?></th>
+        <td><?lsmb PROCESS input element_data={name => 'description'} ?></td>
+      </tr>

Added: trunk/UI/rp-search-payments.html
===================================================================
--- trunk/UI/rp-search-payments.html	                        (rev 0)
+++ trunk/UI/rp-search-payments.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,95 @@
+      <tr>
+        <th align="right"><?lsmb text('Account') ?></th>
+        <td colspan="3"><?lsmb PROCESS select element_data=form.paymentaccounts ?></td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('Description') ?></th>
+        <td colspan="3"><?lsmb PROCESS input element_data={
+  name => 'description',
+  size => '35',
+  } ?></td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('Source') ?></th>
+        <td colspan="3"><?lsmb PROCESS input element_data={name => 'source'} ?></td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('Memo') ?></th>
+        <td colspan="3"><?lsmb PROCESS input element_data={
+  name => 'memo',
+  size => '30',
+  } ?></td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'fromdate',
+        size => '11',
+        title => user.dateformat,
+        value => form.fromdate,
+        } ?></td>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'todate',
+        size => '11',
+        title => user.dateformat,
+        value => form.todate,
+        } ?></td>
+      </tr>
+<?lsmb IF form.selectaccountingyear.defined ?>
+      <tr>
+        <th align="right"><?lsmb text('Period') ?></th>
+        <td colspan="3">
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '0',
+    label => text('Current'),
+    checked => 'checked',
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '1',
+    label => text('Month'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '3',
+    label => text('Quarter'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '12',
+    label => text('Year'),
+    } -?>
+        </td>
+      </tr>
+<?lsmb END ?>
+      <tr>
+        <td align="right">
+<?lsmb PROCESS input element_data={
+  type => 'checkbox',
+  name => 'fx_transaction',
+  value => '1',
+  checked => 'checked',
+  } -?>
+        </td>
+        <td colspan="3"><?lsmb text('Include Exchange Rate Difference') ?></td>
+      </tr>
+      <tr>
+        <td align="right">
+<?lsmb PROCESS input element_data={
+  type => 'checkbox',
+  name => 'l_subtotal',
+  value => 'Y',
+  } -?>
+        </td>
+        <td colspan="3"><?lsmb text('Subtotal') ?></td>
+      </tr>

Added: trunk/UI/rp-search-projects.html
===================================================================
--- trunk/UI/rp-search-projects.html	                        (rev 0)
+++ trunk/UI/rp-search-projects.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,79 @@
+      <tr>
+        <th align="right"><?lsmb text('Project') ?></th>
+        <td colspan="3"><?lsmb PROCESS select element_data=form.selectproject ?></td>
+      </tr>
+      <tr>
+        <th align="right"><?lsmb text('From') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'fromdate',
+        size => '11',
+        title => user.dateformat,
+        value => form.fromdate,
+        } ?></td>
+        <th align="right"><?lsmb text('To') ?></th>
+        <td><?lsmb PROCESS input element_data={
+        class => 'date',
+        name => 'todate',
+        size => '11',
+        title => user.dateformat,
+        value => form.todate,
+        } ?></td>
+      </tr>
+<?lsmb IF form.selectaccountingyear.defined ?>
+      <tr>
+        <th align="right"><?lsmb text('Period') ?></th>
+        <td colspan="3">
+  <?lsmb PROCESS select element_data=form.selectaccountingmonth -?>
+  <?lsmb PROCESS select element_data=form.selectaccountingyear -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '0',
+    label => text('Current'),
+    checked => 'checked',
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '1',
+    label => text('Month'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '3',
+    label => text('Quarter'),
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'interval',
+    value => '12',
+    label => text('Year'),
+    } -?>
+        </td>
+      </tr>
+<?lsmb END ?>
+    </table>
+  </td>
+</tr>
+<tr>
+  <td>
+    <table>
+      <tr>
+        <th align="right"><?lsmb text('Include in Report') ?></th>
+        <td>
+<?lsmb PROCESS input element_data={
+  name => 'l_heading',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Heading'),
+  } -?>
+<?lsmb PROCESS input element_data={
+  name => 'l_subtotal',
+  type => 'checkbox',
+  value => 'Y',
+  label => text('Subtotal'),
+  } -?>
+        </td>
+      </tr>

Added: trunk/UI/rp-search.html
===================================================================
--- trunk/UI/rp-search.html	                        (rev 0)
+++ trunk/UI/rp-search.html	2007-11-03 03:01:24 UTC (rev 1843)
@@ -0,0 +1,53 @@
+<?lsmb INCLUDE 'ui-header.html' ?> 
+<?lsmb PROCESS elements.html ?> 
+<body>
+<form method="post" action="<?lsmb form.script ?>">
+<table width="100%">
+  <tr><th class="listtop"><?lsmb form.title ?></th></tr>
+  <tr><td> </td></tr>
+  <tr>
+    <td>
+      <table>
+<?lsmb IF form.selectdepartment.defined ?>
+        <tr>
+          <th align="right"><?lsmb text('Department') ?></th>
+          <td colspan="3"><?lsmb PROCESS select element_data=form.selectdepartment ?></td>
+        </tr>
+<?lsmb END ?>
+<?lsmb INCLUDE "rp-search-${subform}.html" ?>
+<?lsmb IF gifi ?>
+        <tr>
+          <th align="right"><?lsmb text('Accounts') ?></th>
+          <td>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'accounttype',
+    value => 'standard',
+    label => text('Standard'),
+    checked => 'checked',
+    } -?>
+  <?lsmb PROCESS input element_data={
+    type => 'radio',
+    name => 'accounttype',
+    value => 'gifi',
+    label => text('GIFI'),
+    } -?>
+          </td>
+        </tr>
+<?lsmb END ?>
+      </table>
+    </td>
+  </tr>
+  <tr><td><hr size="3" noshade="noshade" /></td></tr>
+</table>
+<br />
+<?lsmb FOREACH hidden IN hiddens.keys;
+	PROCESS input element_data={
+		type => 'hidden',
+		name => hidden,
+		value => hiddens.item(hidden)
+		}; END ?>
+<?lsmb FOREACH button IN buttons; PROCESS button element_data=button; END ?>
+</form>
+</body>
+</html>

Modified: trunk/bin/rp.pl
===================================================================
--- trunk/bin/rp.pl	2007-11-02 21:50:27 UTC (rev 1842)
+++ trunk/bin/rp.pl	2007-11-03 03:01:24 UTC (rev 1843)
@@ -96,7 +96,8 @@
 
 sub report {
 
-    %report = (
+    my %hiddens;
+    my %report = (
         balance_sheet    => { title => 'Balance Sheet' },
         income_statement => { title => 'Income Statement' },
         trial_balance    => { title => 'Trial Balance' },
@@ -114,752 +115,225 @@
 
     $form->{title} = $locale->text( $report{ $form->{report} }->{title} );
 
-    $gifi = qq|
-<tr>
-  <th align=right>| . $locale->text('Accounts') . qq|</th>
-  <td><input name=accounttype class=radio type=radio value=standard checked> |
-      . $locale->text('Standard') . qq|
-   
-      <input name=accounttype class=radio type=radio value=gifi> |
-      . $locale->text('GIFI') . qq|
-  </td>
-</tr>
-|;
+    my $gifi = 1;
 
     # get departments
-    $form->all_departments( \%myconfig, undef,
-        $report{ $form->{report} }->{vc} );
-    if ( @{ $form->{all_department} } ) {
-        $form->{selectdepartment} = "<option>\n";
-
-        for ( @{ $form->{all_department} } ) {
-            $form->{selectdepartment} .=
-qq|<option value="$_->{description}--$_->{id}">$_->{description}\n|;
-        }
+    $form->all_departments(\%myconfig, undef, $report{$form->{report}}->{vc});
+    if ( ref $form->{all_department} eq 'ARRAY' ) {
+        $form->{selectdepartment} = {
+            name => 'department',
+            options => [{value => '', text => ''}],
+            };
+       push @{$form->{selectdepartment}{options}}, {
+           value => "$_->{description}--$_->{id}",
+           text => $_->{description},
+           } foreach @{$form->{all_department}};
     }
 
-    $department = qq|
-	<tr>
-	  <th align=right nowrap>| . $locale->text('Department') . qq|</th>
-	  <td colspan=3><select name=department>$form->{selectdepartment}</select></td>
-	</tr>
-| if $form->{selectdepartment};
+    if (ref $form->{all_years} eq 'ARRAY') {
 
-    if ( @{ $form->{all_years} } ) {
-
         # accounting years
-        $form->{selectaccountingyear} = "<option>\n";
-        for ( @{ $form->{all_years} } ) {
-            $form->{selectaccountingyear} .= qq|<option>$_\n|;
-        }
+        $form->{selectaccountingyear} = {
+            name => 'year',
+            options => [{text => '', value => ''}],
+            };
+        push @{$form->{selectaccountingyear}{options}}, {
+            text => $_,
+            value => $_,
+            } foreach ( @{ $form->{all_years} } );
 
-        $form->{selectaccountingmonth} = "<option>\n";
-        for ( sort keys %{ $form->{all_month} } ) {
-            $form->{selectaccountingmonth} .=
-              qq|<option value=$_>|
-              . $locale->text( $form->{all_month}{$_} ) . qq|\n|;
-        }
-
-        $selectfrom = qq|
-        <tr>
-	  <th align=right>| . $locale->text('Period') . qq|</th>
-	  <td colspan=3>
-	  <select name=month>$form->{selectaccountingmonth}</select>
-	  <select name=year>$form->{selectaccountingyear}</select>
-	  <input name=interval class=radio type=radio value=0 checked>&nbsp;|
-          . $locale->text('Current') . qq|
-	  <input name=interval class=radio type=radio value=1>&nbsp;|
-          . $locale->text('Month') . qq|
-	  <input name=interval class=radio type=radio value=3>&nbsp;|
-          . $locale->text('Quarter') . qq|
-	  <input name=interval class=radio type=radio value=12>&nbsp;|
-          . $locale->text('Year') . qq|
-	  </td>
-	</tr>
-|;
-
-        $selectto = qq|
-        <tr>
-	  <th align=right></th>
-	  <td>
-	  <select name=month>$form->{selectaccountingmonth}</select>
-	  <select name=year>$form->{selectaccountingyear}</select>
-	  </td>
-	</tr>
-|;
+        $form->{selectaccountingmonth} = {
+            name => 'month',
+            options => [{text => '', value => ''}],
+            };
+        push @{$form->{selectaccountingmonth}{options}}, {
+            text => $locale->text( $form->{all_month}{$_} ),
+            value => $_,
+            } foreach ( sort keys %{ $form->{all_month} } );
     }
 
-    $summary = qq|
-	<tr>
-	  <th></th>
-	  <td><input name=summary type=radio class=radio value=1 checked> |
-      . $locale->text('Summary') . qq|
-	  <input name=summary type=radio class=radio value=0> |
-      . $locale->text('Detail') . qq|
-	  </td>
-	</tr>
-|;
-
     # get projects
     $form->all_projects( \%myconfig );
-    if ( @{ $form->{all_project} } ) {
-        $form->{selectproject} = "<option>\n";
-        for ( @{ $form->{all_project} } ) {
-            $form->{selectproject} .=
-qq|<option value="$_->{projectnumber}--$_->{id}">$_->{projectnumber}\n|;
-        }
-
-        $project = qq|
-	<tr>
-	  <th align=right nowrap>| . $locale->text('Project') . qq|</th>
-	  <td colspan=3><select name=projectnumber>$form->{selectproject}</select></td>
-	</tr>|;
-
+    if (ref $form->{all_project} eq 'ARRAY') {
+        $form->{selectproject} = {
+            name => 'projectnumber',
+            options => [{text => '', value => ''}],
+            };
+        push @{$form->{selectproject}{options}}, {
+            text => $_->{projectnumber},
+            value => "$_->{projectnumber}--$_->{id}",
+            } foreach ( @{ $form->{all_project} } );
     }
 
-    $form->header;
+    $hiddens{title} = $form->{title};
 
-    print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<input type=hidden name=title value="$form->{title}">
-
-<table width=100%>
-  <tr>
-    <th class=listtop>$form->{title}</th>
-  </tr>
-  <tr height="5"></tr>
-  <tr>
-    <td>
-      <table>
-      $department
-|;
-
+    my $subform;
     if ( $form->{report} eq "projects" ) {
-        print qq|
-        $project
-        <input type=hidden name=nextsub value=generate_projects>
-        <tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-	$selectfrom
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <table>
-	<tr>
-	  <th align=right nowrap>| . $locale->text('Include in Report') . qq|</th>
-	  <td><input name=l_heading class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Heading') . qq|
-	  <input name=l_subtotal class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Subtotal')
-          . qq|</td>
-	</tr>
-|;
-    }
+        $hiddens{nextsub} = 'generate_projects';
+        $subform = 'generate_projects';
+    } elsif ( $form->{report} eq "inv_activity" ) {
+        $gifi = 0;
+        $hiddens{nextsub} = 'generate_inv_activity';
+        $subform = 'generate_inv_activity';
+    } elsif ( $form->{report} eq "income_statement" ) {
+        $hiddens{nextsub} = 'generate_income_statement';
+        $subform = 'generate_income_statement';
+    } elsif ( $form->{report} eq "balance_sheet" ) {
+        $hiddens{nextsub} = 'generate_balance_sheet';
+        $subform = 'generate_balance_sheet';
+    } elsif ( $form->{report} eq "trial_balance" ) {
+        $hiddens{nextsub} = 'generate_trial_balance';
+        $subform = 'generate_trial_balance';
+    } elsif ( $form->{report} =~ /^tax_/ ) {
+        $gifi = 0;
 
-    if ( $form->{report} eq "inv_activity" ) {
-        $gifi = '';
-        print qq|
-       <input type=hidden name=nextsub value=generate_inv_activity>
-	<tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-       <tr>
-	  <th align=right>| . $locale->text('Period') . qq|</th>
-	  <td colspan=3>
-	  <select name=frommonth>$form->{selectaccountingmonth}</select>
-	  <select name=fromyear>$form->{selectaccountingyear}</select>
-	  <input name=interval class=radio type=radio value=0 checked>|
-          . $locale->text('Current') . qq|
-	  <input name=interval class=radio type=radio value=1>|
-          . $locale->text('Month') . qq|
-	  <input name=interval class=radio type=radio value=3>|
-          . $locale->text('Quarter') . qq|
-	  <input name=interval class=radio type=radio value=12>|
-          . $locale->text('Year') . qq|
-	  </td>
-	</tr>
-        </table>
-        <table>
-          <tr>
-            <th>| . $locale->text("Part Number") . qq|</th>
-            <td><input name=partnumber></td>
-            <th>| . $locale->text('Description') . qq|</th>
-            <td><input type=text name=description></td>
-          </tr>|;
-    }
-    if ( $form->{report} eq "income_statement" ) {
-        print qq|
-	$project
-        <input type=hidden name=nextsub value=generate_income_statement>
-	<tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-|;
-
-        if ($selectfrom) {
-            print qq|
-        <tr>
-	  <th align=right>| . $locale->text('Period') . qq|</th>
-	  <td colspan=3>
-	  <select name=frommonth>$form->{selectaccountingmonth}</select>
-	  <select name=fromyear>$form->{selectaccountingyear}</select>
-	  <input name=interval class=radio type=radio value=0 checked>&nbsp;|
-              . $locale->text('Current') . qq|
-	  <input name=interval class=radio type=radio value=1>&nbsp;|
-              . $locale->text('Month') . qq|
-	  <input name=interval class=radio type=radio value=3>&nbsp;|
-              . $locale->text('Quarter') . qq|
-	  <input name=interval class=radio type=radio value=12>&nbsp;|
-              . $locale->text('Year') . qq|
-	  </td>
-	</tr>
-|;
-        }
-
-        print qq|
-
-	<tr>
-	  <th align=right>| . $locale->text('Compare to') . qq|</th>
-	</tr>
-	<tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=comparefromdate size=11 title="$myconfig{dateformat}"></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=comparetodate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-|;
-
-        if ($selectto) {
-            print qq|
-        <tr>
-	  <th align=right>| . $locale->text('Period') . qq|</th>
-	  <td>
-	  <select name=comparemonth>$form->{selectaccountingmonth}</select>
-	  <select name=compareyear>$form->{selectaccountingyear}</select>
-	  </td>
-	</tr>
-|;
-        }
-
-        print qq|
-	<tr>
-	  <th align=right>| . $locale->text('Decimalplaces') . qq|</th>
-	  <td><input name=decimalplaces size=3 value=2></td>
-	</tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <table>
-	<tr>
-	  <th align=right>| . $locale->text('Method') . qq|</th>
-	  <td colspan=3><input name=method class=radio type=radio value=accrual checked>|
-          . $locale->text('Accrual') . qq|
-	  &nbsp;<input name=method class=radio type=radio value=cash>|
-          . $locale->text('Cash')
-          . qq|</td>
-	</tr>
-
-	<tr>
-	  <th align=right nowrap>| . $locale->text('Include in Report') . qq|</th>
-	  <td colspan=3><input name=l_heading class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Heading') . qq|
-	  <input name=l_subtotal class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Subtotal') . qq|
-	  <input name=l_accno class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Account Number')
-          . qq|</td>
-	</tr>
-|;
-    }
-
-    if ( $form->{report} eq "balance_sheet" ) {
-        print qq|
-        <input type=hidden name=nextsub value=generate_balance_sheet>
-	<tr>
-	  <th align=right>| . $locale->text('as at') . qq|</th>
-	  <td><input class="date" name=asofdate size=11 title="$myconfig{dateformat}" value=$form->{asofdate}></td>
-|;
-
-        if ($selectfrom) {
-            print qq|
-	  <td>
-	  <select name=asofmonth>$form->{selectaccountingmonth}</select>
-	  <select name=asofyear>$form->{selectaccountingyear}</select>
-	  </td>
-|;
-        }
-
-        print qq|
-	</tr>
-
-	  <th align=right nowrap>| . $locale->text('Compare to') . qq|</th>
-	  <td><input class="date" name=compareasofdate size=11 title="$myconfig{dateformat}"></td>
-	  <td>
-|;
-
-        if ($selectto) {
-            print qq|
-	  <select name=compareasofmonth>$form->{selectaccountingmonth}</select>
-	  <select name=compareasofyear>$form->{selectaccountingyear}</select>
-	  </td>
-|;
-        }
-
-        print qq|
-	</tr>
-	<tr>
-	  <th align=right>| . $locale->text('Decimalplaces') . qq|</th>
-	  <td><input name=decimalplaces size=3 value=2></td>
-	</tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <table>
-	<tr>
-	  <th align=right>| . $locale->text('Method') . qq|</th>
-	  <td colspan=3><input name=method class=radio type=radio value=accrual checked>|
-          . $locale->text('Accrual') . qq|
-	  &nbsp;<input name=method class=radio type=radio value=cash>|
-          . $locale->text('Cash')
-          . qq|</td>
-	</tr>
-
-	<tr>
-	  <th align=right nowrap>| . $locale->text('Include in Report') . qq|</th>
-	  <td><input name=l_heading class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Heading') . qq|
-	  <input name=l_subtotal class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Subtotal') . qq|
-	  <input name=l_accno class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Account Number')
-          . qq|</td>
-	</tr>
-|;
-    }
-
-    if ( $form->{report} eq "trial_balance" ) {
-        print qq|
-        <input type=hidden name=nextsub value=generate_trial_balance>
-        <tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-	$selectfrom
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <table>
-	<tr>
-	  <th align=right nowrap>| . $locale->text('Include in Report') . qq|</th>
-	  <td><input name=l_heading class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Heading') . qq|
-	  <input name=l_subtotal class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('Subtotal') . qq|
-	  <input name=all_accounts class=checkbox type=checkbox value=Y>&nbsp;|
-          . $locale->text('All Accounts')
-          . qq|</td>
-	</tr>
-|;
-    }
-
-    if ( $form->{report} =~ /^tax_/ ) {
-        $gifi = "";
-
         $form->{db} = ( $form->{report} =~ /_collected/ ) ? "ar" : "ap";
 
         RP->get_taxaccounts( \%myconfig, \%$form );
 
-        print qq|
-        <input type=hidden name=nextsub value=generate_tax_report>
-	<tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-	$selectfrom
-	$summary
-	<tr>
-	  <th align=right>| . $locale->text('Report for') . qq|</th>
-	  <td colspan=3>
-|;
+        $hiddens{nextsub} = 'generate_tax_report';
+        $hiddens{db} = $form->{db};
+        $hiddens{sort} = 'transdate';
+        $subform = 'generate_tax_report';
 
-        $checked = "checked";
+        my $checked = "checked";
+        $form->{taxaccountlist} = [];
         foreach $ref ( @{ $form->{taxaccounts} } ) {
-
-            print
-qq|<input name=accno class=radio type=radio value=$ref->{accno} $checked>&nbsp;$ref->{description}
-
-    <input name="$ref->{accno}_description" type=hidden value="$ref->{description}">
-    <input name="$ref->{accno}_rate" type=hidden value="$ref->{rate}">|;
-
-            $checked = "";
-
+            push @{$form->{taxaccountlist}}, {
+                name => 'accno',
+                type => 'radio',
+                value => $ref->{accno},
+                label => $ref->{description},
+                $checked => $checked,
+                };
+            $hiddens{"$ref->{accno}_description"} = $ref->{description};
+            $hiddens{"$ref->{accno}_rate"} = $ref->{rate};
+            $checked = undef;
         }
 
-        print qq|
-  <input type=hidden name=db value=$form->{db}>
-  <input type=hidden name=sort value=transdate>
-
-	  </td>
-	</tr>
-|;
-
-        if ( @{ $form->{gifi_taxaccounts} } ) {
-            print qq|
-        <tr>
-	  <th align=right>| . $locale->text('GIFI') . qq|</th>
-	  <td colspan=3>
-|;
-
+        if (ref $form->{gifi_taxaccounts} eq 'ARRAY') {
+            $form->{gifitaxaccountlist} = [];
             foreach $ref ( @{ $form->{gifi_taxaccounts} } ) {
-
-                print
-qq|<input name=accno class=radio type=radio value="gifi_$ref->{accno}">&nbsp;$ref->{description}
-
-      <input name="gifi_$ref->{accno}_description" type=hidden value="$ref->{description}">
-      <input name="gifi_$ref->{accno}_rate" type=hidden value="$ref->{rate}">|;
-
+                push @{$form->{taxaccountlist}}, {
+                    name => 'accno',
+                    type => 'radio',
+                    value => "gifi_$ref->{accno}",
+                    label => $ref->{description},
+                    };
+                $hiddens{"gifi_$ref->{accno}_description"} = $ref->{description};
+                $hiddens{"gifi_$ref->{accno}_rate"} = $ref->{rate};
             }
-
-            print qq|
-	  </td>
-	</tr>
-|;
         }
+    } elsif ( $form->{report} =~ /^nontaxable_/ ) {
+        $gifi = 0;
 
-        print qq|
-	<tr>
-	  <th align=right>| . $locale->text('Method') . qq|</th>
-	  <td colspan=3><input name=method class=radio type=radio value=accrual checked>|
-          . $locale->text('Accrual') . qq|
-	  &nbsp;<input name=method class=radio type=radio value=cash>|
-          . $locale->text('Cash')
-          . qq|</td>
-	</tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <table>
-        <tr>
-	  <th align=right>| . $locale->text('Include in Report') . qq|</th>
-	  <td>
-	    <table>
-	      <tr>
-		<td><input name="l_id" class=checkbox type=checkbox value=Y></td>
-		<td>| . $locale->text('ID') . qq|</td>
-		<td><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Invoice') . qq|</td>
-		<td><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Date') . qq|</td>
-	      </tr>
-	      <tr>
-		<td><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
-|;
-
-        if ( $form->{db} eq 'ar' ) {
-            print qq|<td>| . $locale->text('Customer') . qq|</td>|;
-        }
-        if ( $form->{db} eq 'ap' ) {
-            print qq|<td>| . $locale->text('Vendor') . qq|</td>|;
-        }
-
-        print qq|
-  	        <td><input name="l_description" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Description') . qq|</td>
-		<td><input name="l_netamount" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Amount') . qq|</td>
-		
-		<td><input name="l_tax" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Tax') . qq|</td>
-		
-                <td><input name="l_total" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Total') . qq|</td>
-	      </tr>
-	      <tr>
-	      </tr>
-	      <tr>
-	        <td><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
-		<td>| . $locale->text('Subtotal') . qq|</td>
-	      </tr>
-	    </table>
-	  </td>
-	</tr>
-|;
-
-    }
-
-    if ( $form->{report} =~ /^nontaxable_/ ) {
-        $gifi = "";
-
         $form->{db} = ( $form->{report} =~ /_sales/ ) ? "ar" : "ap";
+        $hiddens{nextsub} = 'generate_tax_report';
+        $hiddens{db} = $form->{db};
+        $hiddens{sort} = 'transdate';
+        $hiddens{report} = $form->{report};
+        $subform = 'generate_tax_report';
+    } elsif (   ( $form->{report} eq "ar_aging" )
+        || ( $form->{report} eq "ap_aging" ) ) {
+        $gifi = 0;
+        $subform = 'aging';
 
-        print qq|
-        <input type=hidden name=nextsub value=generate_tax_report>
-
-        <input type=hidden name=db value=$form->{db}>
-        <input type=hidden name=sort value=transdate>
-        <input type=hidden name=report value=$form->{report}>
-
-	<tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-	$selectfrom
-	$summary
-	<tr>
-	  <th align=right>| . $locale->text('Method') . qq|</th>
-	  <td colspan=3><input name=method class=radio type=radio value=accrual checked>|
-          . $locale->text('Accrual') . qq|
-	  &nbsp;<input name=method class=radio type=radio value=cash>|
-          . $locale->text('Cash')
-          . qq|</td>
-	</tr>
-        <tr>
-	  <th align=right>| . $locale->text('Include in Report') . qq|</th>
-	  <td colspan=3>
-	    <table>
-	      <tr>
-		<td><input name="l_id" class=checkbox type=checkbox value=Y></td>
-		<td>| . $locale->text('ID') . qq|</td>
-		<td><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Invoice') . qq|</td>
-		<td><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Date') . qq|</td>
-	      </tr>
-	      <tr>
-		<td><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
-|;
-
-        if ( $form->{db} eq 'ar' ) {
-            print qq|<td>| . $locale->text('Customer') . qq|</td>|;
-        }
-        if ( $form->{db} eq 'ap' ) {
-            print qq|<td>| . $locale->text('Vendor') . qq|</td>|;
-        }
-
-        print qq|
-	        <td><input name="l_description" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Description') . qq|</td>
-                <td><input name="l_netamount" class=checkbox type=checkbox value=Y checked></td>
-		<td>| . $locale->text('Amount') . qq|</td>
-	      </tr>
-	      <tr>
-	        <td><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
-		<td>| . $locale->text('Subtotal') . qq|</td>
-	      </tr>
-	    </table>
-	  </td>
-	</tr>
-|;
-
-    }
-
-    if (   ( $form->{report} eq "ar_aging" )
-        || ( $form->{report} eq "ap_aging" ) )
-    {
-        $gifi = "";
-
         if ( $form->{report} eq 'ar_aging' ) {
             $label = $locale->text('Customer');
             $form->{vc} = 'customer';
+            $form->{uvc} = 'Customer';
         }
         else {
             $label = $locale->text('Vendor');
             $form->{vc} = 'vendor';
+            $form->{uvc} = 'Vendor';
         }
 
-        $nextsub = "generate_$form->{report}";
-
         # setup vc selection
         $form->all_vc( \%myconfig, $form->{vc},
             ( $form->{vc} eq 'customer' ) ? "AR" : "AP" );
 
-        for ( @{ $form->{"all_$form->{vc}"} } ) {
-            $vc .= qq|<option value="$_->{name}--$_->{id}">$_->{name}\n|;
+        my $vc;
+        if (ref $form->{"all_$form->{vc}"} eq 'ARRAY') {
+            $vc = {name => $form->{vc}, options => [{text => '', value => ''}]};
+            for ( @{ $form->{"all_$form->{vc}"} } ) {
+                push @{$vc->{options}}, {
+                    text => "$_->{name}",
+                    value => "$_->{name}--$_->{id}",
+                    };
+            }
+            $form->{vci} = {type => 'select', input => $vc};
+        } else {
+            $vc = {name => $form->{vc}, size => 35};
+            $form->{vci} = {type => 'input', input => $vc};
         }
 
-        $vc =
-          ($vc)
-          ? qq|<select name=$form->{vc}><option>\n$vc</select>|
-          : qq|<input name=$form->{vc} size=35>|;
+        $hiddens{type} = 'statement';
+        $hiddens{format} = 'ps' if $myconfig{printer};
+	$hiddens{media} = $myconfig{printer};
+        
+	my $nextsub = "generate_$form->{report}";
+	$hiddens{nextsub} = $nextsub;
+	$hiddens{action} = $nextsub;
+    } elsif ( $form->{report} =~ /(receipts|payments)$/ ) {
+        $gifi = 0;
+        $subform = 'payments';
 
-        $postscript = "ps" if $myconfig{printer};
-
-        print qq|
-	<tr>
-	  <th align=right>| . $locale->text($label) . qq|</th>
-	  <td>$vc</td>
-	</tr>
-	<tr>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-	$selectto
-        <input type=hidden name=type value=statement>
-        <input type=hidden name=format value=$postscript>
-	<input type=hidden name=media value="$myconfig{printer}">
-
-	<input type=hidden name=nextsub value=$nextsub>
-	<input type=hidden name=action value=$nextsub>
-	$summary
-	<tr>
-	  <table>
-	    <tr>
-	      <th>| . $locale->text('Include in Report') . qq|</th>
-
-	      <td>
-	        <table>
-		  <tr>
-	            <td nowrap><input name=overdue type=radio class=radio value=0 checked> |
-          . $locale->text('Aged')
-          . qq|</td>
- 	            <td nowrap><input name=overdue type=radio class=radio value=1> |
-          . $locale->text('Overdue')
-          . qq|</td>
-	          </tr>
-		  <tr>
-		    <td nowrap width=70><input name=c0 type=checkbox class=checkbox value=1 checked> |
-          . $locale->text('Current')
-          . qq|</td>
-		    <td nowrap width=70><input name=c30 type=checkbox class=checkbox value=1 checked> 30</td>
-		    <td nowrap width=70><input name=c60 type=checkbox class=checkbox value=1 checked> 60</td>
-		    <td nowrap width=70><input name=c90 type=checkbox class=checkbox value=1 checked> 90</td>
-		    </td>
-		  </tr>
-		</table>
-	      </td>
-	    </tr>
-	  </table>
-	</tr>
-
-|;
-    }
-
-    # above action can be removed if there is more than one input field
-
-    if ( $form->{report} =~ /(receipts|payments)$/ ) {
-        $gifi = "";
-
         $form->{db} = ( $form->{report} =~ /payments$/ ) ? "ap" : "ar";
 
         RP->paymentaccounts( \%myconfig, \%$form );
 
-        $selection = "<option>\n";
+        my $paymentaccounts = '';
+        $form->{paymentaccounts} = {
+            name => 'account',
+            options => [{text => '', value => ''}],
+            };
         foreach $ref ( @{ $form->{PR} } ) {
             $paymentaccounts .= "$ref->{accno} ";
-            $selection       .= "<option>$ref->{accno}--$ref->{description}\n";
+            push @{$form->{paymentaccounts}{options}}, {
+                text => "$ref->{accno}--$ref->{description}",
+                value => "$ref->{accno}--$ref->{description}",
+                };
         }
 
         chop $paymentaccounts;
 
-        print qq|
-        <input type=hidden name=nextsub value=list_payments>
-        <tr>
-	  <th align=right nowrap>| . $locale->text('Account') . qq|</th>
-          <td colspan=3><select name=account>$selection</select>
-	    <input type=hidden name=paymentaccounts value="$paymentaccounts">
-	  </td>
-	</tr>
-        <tr>
-	  <th align=right nowrap>| . $locale->text('Description') . qq|</th>
-          <td colspan=3><input name=description size=35></td>
-	</tr>
-        <tr>
-	  <th align=right nowrap>| . $locale->text('Source') . qq|</th>
-          <td colspan=3><input name=source></td>
-	</tr>
-        <tr>
-	  <th align=right nowrap>| . $locale->text('Memo') . qq|</th>
-          <td colspan=3><input name=memo size=30></td>
-	</tr>
-	<tr>
-	  <th align=right>| . $locale->text('From') . qq|</th>
-	  <td><input class="date" name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
-	  <th align=right>| . $locale->text('To') . qq|</th>
-	  <td><input class="date" name=todate size=11 title="$myconfig{dateformat}"></td>
-	</tr>
-	$selectfrom
-        <tr>
-	  <td align=right><input type=checkbox class=checkbox name=fx_transaction value=1 checked></td>
-	  <td colspan=3>|
-          . $locale->text('Include Exchange Rate Difference')
-          . qq|</td>
-	</tr>
-        <tr>
-	  <td align=right><input name=l_subtotal class=checkbox type=checkbox value=Y></td>
-	  <td align=left colspan=3>| . $locale->text('Subtotal') . qq|</th>
-	</tr>
-	  
-	  <input type=hidden name=db value=$form->{db}>
-	  <input type=hidden name=sort value=transdate>
-|;
+        $hiddens{nextsub} = 'list_payments';
+        $hiddens{paymentaccounts} = $paymentaccounts;
+        $hiddens{db} = $form->{db};
+        $hiddens{sort} = 'transdate';
 
     }
 
     $form->{login} = 'test';
-    print qq|
+    $hiddens{$_} = $form->{$_} foreach qw(path login sessionid);
 
-$gifi
+##SC: Temporary commenting
+##    if ( $form->{lynx} ) {
+##        require "bin/menu.pl";
+##        &menubar;
+##    }
 
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td><hr size=3 noshade></td>
-  </tr>
-</table>
+    my @buttons = ({
+        name => 'action',
+        value => 'continue',
+        text => $locale->text('Continue'),
+        });
+    my $template = LedgerSMB::Template->new_UI(
+        user => \%myconfig, 
+        locale => $locale, 
+        template => 'rp-search',
+        );
+    $template->render({
+        user => \%myconfig,
+        form => $form,
+        subform => $subform,
+        hiddens => \%hiddens,
+        options => ..hidden..,
+        buttons => ..hidden..,
+        gifi => $gifi,
+    });
 
-<br>
-<input type="hidden" name="path" value="$form->{path}">
-<input type="hidden" name="login" value="$form->{login}">
-<input type="hidden" name="sessionid" value="$form->{sessionid}">
-
-<button type="submit" class="submit" name="action" value="continue">|
-      . $locale->text('Continue')
-      . qq|</button>
-
-</form>
-|;
-
-    if ( $form->{lynx} ) {
-        require "bin/menu.pl";
-        &menubar;
-    }
-
-    print qq|
-
-</body>
-</html>
-|;
-
 }
 
 sub continue { &{ $form->{nextsub} } }


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.