LedgerSMB::AM

LedgerSMB::AM(3pm)    User Contributed Perl Documentation   LedgerSMB::AM(3pm)



NAME
       LedgerSMB::AM - This module provides some administrative functions

SYNOPSIS
       This module provides some administrative functions

COPYRIGHT
        #====================================================================
        # LedgerSMB
        # Small Medium Business Accounting software
        # http://www.ledgersmb.org/
        #
        # Copyright (C) 2006
        # This work contains copyrighted information from a number of sources
        # all used with permission.
        #
        # This file contains source code included with or based on SQL-Ledger
        # which is Copyright Dieter Simader and DWS Systems Inc. 2000-2005
        # and licensed under the GNU General Public License version 2 or, at
        # your option, any later version.  For a full list including contact
        # information of contributors, maintainers, and copyright holders,
        # see the CONTRIBUTORS file.
        #
        # Original Copyright Notice from SQL-Ledger 2.6.17 (before the fork):
        # Copyright (C) 2000
        #
        #  Author: DWS Systems Inc.
        #     Web: http://www.sql-ledger.org
        #
        #  Contributors: Jim Rawlings <jim@your-dba.com>
        #
        #====================================================================
        #
        # This file has undergone whitespace cleanup.
        #
        #====================================================================
        #
        # Administration module
        #    Chart of Accounts
        #    template routines
        #    preferences
        #
        #====================================================================

METHODS
       AM->get_account($myconfig, $form);
           Populates the $form attributes accno, description, charttype,
           gifi_accno, category, link, and contra with details about the
           account that has the id $form->{id}.  If there are no acc_trans
           entries that refer to that account, $form->{orphaned} is made true,
           otherwise $form->{orphaned} is set to false.

           Also populates 'inventory_accno_id', 'income_accno_id',
           'expense_accno_id', 'fxgain_accno_id', and 'fxloss_accno_id' with
           the values from defaults.

           $myconfig is unused.

       AM->delete_account($myconfig, $form);
           Deletes the account with the id $form->{id}.  Calls $form->error if
           there are any acc_trans entries that reference it.  If any parts
           have that account for an inventory, income, or COGS (expense)
           account, switch the part to using the default account for that
           type.  Also deletes all tax, partstax, customertax, and vendortax
           table entries for the account.

           $myconfig is unused.

       AM->gifi_accounts($myconfig, $form);
           Populates the list referred to as $form->{ALL} with hashes of gifi
           numbers and descriptions in order of the GIFI number.  The GIFI
           number referred to as 'accno'.

           $myconfig is not used.

       AM->get_gifi($myconfig, $form);
           Sets $form->{description} to the description of the GIFI number
           $form->{accno}.  Sets $form->{orphaned} to true if there are no
           entries in acc_trans that refer to this GIFI and to false
           otherwise.

           $myconfig is not used.

       AM->save_gifi($myconfig, $form);
           Adds or updates a GIFI record.  If $form->{id} is set, update the
           gifi record that has that as an account number.  The new values for
           an added or updated record are stored in $form->{accno} and
           $form->{description}.

           $myconfig is not used.

       AM->delete_gifi($myconfig, $form);
           Deletes the gifi record with the GIFI number $form->{id}.

           $myconfig is not used.

       AM->warehouses($myconfig, $form);
           Populates the list referred to as $form->{ALL} with hashes
           describing warehouses, ordered according to the logic of
           $form->sort_order.  Each hash has an id and a description element.

           $myconfig is not used.

       AM->get_warehouse($myconfig, $form);
           Sets $form->{description} to the name of the warehouse $form->{id}.
           If no inventory is currently linked to the warehouse, set
           $form->{orphaned} to true, otherwise $form->{orphaned} is false.

           $myconfig is not used.

       AM->save_warehouse($myconfig, $form);
           Add or update a warehouse.  If $form->{id} is set, that warehouse
           is updated instead of adding a new warehouse.  In both cases, the
           description of the warehouse is set to $form->{description}.

           $myconfig is not used.

       AM->delete_warehouse($myconfig, $form);
           Deletes the warehouse with the id $form->{id}.

           $myconfig is not used.

       AM->departments($myconfig, $form);
           Populate the list referred to as $form->{ALL} with hashes of
           details about departments.  The hashes all contain the id,
           description, and role of the department and are ordered by the
           description.

           $myconfig is unused.

       AM->get_department($myconfig, $form);
           Fills $form->{description} and $form->{role} with details about the
           department with the id value of $form->{id}.  If the department has
           not been used as part of a transaction referred to in dpt_trans,
           set $form->{orphaned} to true, otherwise it is set to false.

           $myconfig is unused.

       AM->save_department($myconfig, $form);
           Add or update a department record.  If $form->{id} is set, the
           department with that id is updated, otherwise a new department is
           added.  The department role (either 'C' for cost centres or 'P' for
           profit centres) and description is taken from the $form attributes
           'role' and 'description'.

           $myconfig is unused.

       AM->delete_department($myconfig, $form)
           Deletes the department with an id of $form->{id}.

           $myconfig is unused.

       AM->business($myconfig, $form);
           Populates the list referred to as $form->{ALL} with hashes
           containing details about all known types of business.  Each hash
           contains the id, description, and discount for businesses of this
           type.  The discount is represented in numeric form, such that a 10%
           discount is stored and retrieved as 0.1.  The hashes are sorted by
           the business description.

           $myconfig is unused.

       AM->get_business($myconfig, $form);
           Places the description and discount for the business with an id of
           $form->{id} into $form->{description} and $form->{discount}.

           $myconfig is unused.

       AM->save_business($myconfig, $form);
           Adds or updates a type of business.  If $form->{id} is set, the
           business type with a corresponding id is updated, otherwise a new
           type is added.  The new description is $form->{description}.  The
           discount taken as a percentage stored in $form->{discount}, which
           then value is divided by 100 in place and the multiplier is stored.
           As an example, if $form->{discount} is 10 when this function is
           called, it is changed to 0.1 and stored as 0.1.

           $myconfig is unused.

       AM->delete_business($myconfig, $form);
           Deletes the business type with the id $form->{id}.

           $myconfig is unused.

       AM->sic($myconfig, $form);
           Populate the list referred to as $form->{ALL} with hashes
           containing SIC (some well known systems of which are NAICS and
           ISIC) data from the sic table.  code is the actual SIC code,
           description is a textual description of the code, and sictype is an
           indicator of whether or not the entry refers to a header.  The
           hashes will be sorted by either the code or description.

           $myconfig is unused.

       AM->get_sic($myconfig, $form);
           Retrieves the sictype and description for the SIC indicated by
           $form->{code} and places the retrieved values into $form->{sictype}
           and $form->{description}.

           $myconfig is unused

       AM->save_sic($myconfig, $form);
           Add or update a SIC entry.  If $form->{id} is set, take it as the
           original code to identify the entry update, otherwise treat it as a
           new entry.  $form->{code}, $form->{description}, and
           $form->{sictype} contain the new values.  sictype is a single
           character to flag whether or not the entry is for a header ('H').

           $myconfig is unused.

       AM->delete_sic($myconfig, $form);
           Deletes the SIC entry with the code $form->{code}.

           $myconfig is unused.

       AM->language($myconfig, $form);
           Populates the list referred to as $form->{ALL} with hashes
           containing the code and description of all languages entered in the
           language table.  The usual set of $form attributes affect the order
           in which the hashes are entered in the list.

           These language functions are unrelated to LedgerSMB::Locale,
           although these language codes are also used for non-UI templates
           and by LedgerSMB::PE.

           $myconfig is unused.

       AM->get_language($myconfig, $form);
           Sets $form->{description} to the description of the language that
           has the code $form->{code}.

           $myconfig is unused.

       AM->save_language($myconfig, $form);
           Add or update a language entry.  If $form->{id} is set, the
           language entry that has that as a code is updated, otherwise a new
           entry is added.  $form->{code} and $form->{description} contain the
           new values for the entry.

           $myconfig is unused.

       AM->delete_language($myconfig, $form);
           Deletes the language entry with the code $form->{code}.

           $myconfig is unused.

       AM->recurring_transactions($myconfig, $form);
           Populates lists referred to in the form of
           $form->{transactions}{$type}, where the possible values for $type
           are 'ar', 'ap', 'gl', 'so', and 'po', with hashes containing
           details about recurring transactions of the $type variety.  These
           hashes have the fields module (the frontend script that governs the
           transaction type), transaction (the transaction type), invoice
           (true if the transaction is an invoice), description (a field that
           is a customer, vendor, or in the case of a GL transaction, an
           arbitrary text field), amount (the cash value of the transaction),
           id (the id of the recurring transaction), reference (the reference
           value for the transaction), startdate (the date the recurring
           sequence started), nextdate (the date of the next occurrence of the
           event), enddate (the date the sequence ends), repeat (the number of
           units involved in the recurrence frequency), unit (the base
           recurrence unit), howmany (how many times the event occurs),
           payment (whether or not the event involves a payment),
           recurringemail (a colon separated list of forms to email as part of
           the event), recurringprint (a colon separated list of forms to
           print as part of the event), overdue (how many days until the next
           repetition of the event), vc (vendor, customer, or empty),
           exchangerate (the exchangerate involved on the day of the original
           transaction), curr (the currency of the event), and expired (if
           there will be no more recurrences).

           By default, these lists are sorted in order of the date of the next
           occurrence of the transaction.  This order can be affected by the
           usual attributes used by $form->sort_order.

           $myconfig is unused.

       AM->recurring_details($myconfig, $form, $id);
           Retrieves details about the recurring transaction $id and places
           them into attributes of $form.  Sets id (the transaction id passed
           in, $id), reference (a reference string for the recurring
           transaction), startdate (the date the recurrence series started
           on), nextdate (the date of the next occurrence of the event),
           enddate (the date of the final occurrence of the event), repeat
           (the number of units involved in a recurrence period), unit (the
           recurrence unit), howmany (the total number of recurrences in the
           recurrence series), payment (whether or not the transaction is
           associated with a payment), arid (true if an ar event), apid (true
           if an ap event), overdue (number of days an ar event was to the
           duedate), paid (number of days after an ar event it was paid), req
           (days until the requirement date from the transdate of an oe
           event), oeid (true if an oe event), customer_id (vendor id if sales
           order), vendor_id (vendor id if puchase order), vc ('customer' if
           customer_id set, 'vendor' if vendor_id set), invoice (true if both
           arid and arinvoice set or if both apid and apinvoice set),
           recurringemail (colon separated list of forms and formats to be
           emailed), message (the non-attachement message body for the
           emails), and recurringprint (colon separated list of form names,
           formats, and printer names).

           $myconfig is unused.

       AM->update_recurring($myconfig, $form, $id)
           Updates nextdate for the recurring transaction $id to the next date
           of the sequence.  If the new value for nextdate is after enddate,
           nextdate is set to NULL.

           $myconfig is unused.

       AM->check_template_name($myconfig, $form);
           Performs some sanity checking on the filename $form->{file} and
           calls $form->error if the filename is disallowed.

       AM->load_template($myconfig, $form);
           Populates $form->{body} with the contents of the file
           $form->{file}.

       AM->save_template($myconfig, $form);
           Overwrites the file $form->{file} with the contents of
           $form->{body}, excluding carriage returns.

       AM->save_preferences($myconfig, $form);
           Saves the preferences for the current user.  New values are taken
           from the $form attributes name, email, dateformat, signature,
           numberformat, vclimit, tel, fax, company, menuwidth, countrycode,
           address, timeout, stylesheet, printer, password, new_password, and
           old_password.  Password updates occur when new_password and
           old_password differ.

       AM->save_defaults($myconfig, $form, \@defaults);
           Sets the values in the defaults table to values derived from $form.
           glnumber, sinumber, vinumber, sonumber, ponumber, sqnumber,
           rfqnumber, partnumber, employeenumber, customernumber,
           vendornumber, projectnumber, yearend, curr, weightunit, and
           businessnumber are taken directly from the $form value with the
           corresponding name.

           Stores the templates directory for a specific company on defaults
           table.

           @defaults identifies the list of values to be stored in defaults.
           If not provided, a default list is used.

       AM->defaultaccounts($myconfig, $form);
           Retrieves the numbers of default accounts and sets
           $form->{defaults}{$key} to the appropriate account numbers, where
           $key can be 'inventory_accno_id', 'income_accno_id',
           'income_accno_id', 'expense_accno_id', 'fxgain_accno_id' and
           'fxloss_accno_id'.

           Sets the hashes refered to as
           $form->{accno}{${type}_accno_id}{$accno} - where $type one of
           'inventory', 'income' and 'expense' - to contain the id and
           description of all accounts with IC elements in their link fields
           keyed on the account number.

           Fills the hashes referred to as
           $form->{accno}{fx(gain|loss)_accno_id} with the id and description
           of all income and expense accounts, keyed on the account number.

           $myconfig is unused.

       AM->taxes($myconfig, $form);
           Retrieve details about all taxes in the database.
           $form->{taxrates} refers to a list containing hashes with the chart
           id (id), account number (accno), description, rate, taxnumber,
           validto, pass, and taxmodulename for a tax.  $form->{taxmodule_id},
           where id is a taxmodule_id, is set to that taxmodule's name.

           $myconfig is unused.

       AM->save_taxes($myconfig, $form);
           Deletes all entries from the tax table then re-inserts all taxes
           whose accounts are part of the space separated list
           $form->{taxaccounts}.  Each element of $form->{taxaccounts} is of
           the form 'chartid_i' where chartid is the id of the chart entry for
           the tax and i is a numeric index.  The values inserted for each tax
           are chart_id (from taxaccounts), rate ( form->{taxrate_i} / 100),
           validto ($form->{validto_i}), taxnumber ($form->{taxnumber_i}),
           pass ($form->{pass_i}), and taxmodule_id ($form->{taxmodule_id_i}).

       AM->closedto($myconfig, $form);
           Populates $form->{closedto}, $form->{revtrans}, and
           $form->{audittrail} with their values in the defaults table.

           $myconfig is unused.

       AM->closebooks($myconfig, $form);
           Updates the revtrans, closedto, and audittrail entries in the
           defaults table using their corresponding $form values.  If
           $form->{removeaudittrail} is set, this used to remove all
           audittrail entries with a transdate prior to the date given by
           $form->{removeaudittrail}, but has been disabled.

           $myconfig is unused.

       AM->earningsaccounts($myconfig, $form);
           Populates the list referred to as $form->{chart} with hashes
           containing the account number (accno) and the description of all
           equity accounts, ordered by the account number.

           $myconfig is unused.

       AM->post_yearend($myconfig, $form);
           Posts the termination of a financial year.  Makes use of the $form
           attributes login, reference, notes, description, and transdate to
           populate the gl table entry.  The id of the gl transaction is
           placed in $form->{id}.

           For every accno_$i in $form, where $i is between 1 and
           $form->{rowcount}, an acc_trans entry will be added if credit_$i or
           debit_$i is non-zero.

           A new yearend entry is populated with the id and transdate of the
           gl transaction.

           Adds an entry to the audittrail.

           $myconfig is unused.

       AM->get_all_defaults($form);
           Retrieves all settings from defaults and sets the appropriate $form
           values.  Also runs AM->defaultaccounts.

       AM->get_templates_directories;
           This functions gets all the directories from
           $LedgerSMB::Sysconfig::templates to list all the possible non-Ui
           templates.



perl v5.14.2                      2012-07-28                LedgerSMB::AM(3pm)