1,051

(3 replies, posted in Announcements)

Post Release Fixes attached.

This may be the last set of commits in the FA 2.4.7 branch.

CHANGELOG

To start with, we can make a report that lists the supplier in descending order of price for a specific item. If the last purchased price is very long ago, it will distort the order's inference. Hence a last purchased date too will need to form part of the report.

1,053

(1 replies, posted in Wish List)

Make it part of the Tax name.

Generally the default bank account with have more transactions.

Try making the target bank account (the one with few transactions) as the default bank account temporarily and see if it now generates more transactions, before reverting back.

If we now get more transactions, then the devs can re-evaluate the code for it or reason it accordingly.

1,055

(0 replies, posted in Wish List)

Here is a code snippet that redirects to a page with the necessary forex rate but we need to capture the redirection in curl.

<?php
$from_curr = 'USD';
$to_curr = 'SGD';
$on_date = date('Y-m-d');
$form = <<<EOT
<form method="post" action="https://www1.oanda.com/currency/converter/" id="ncc_detail_form">
<input type="hidden" name="quote_currency_0" id="form_quote_currency_hidden" value="$from_curr" />
<input type="hidden" name="quote_amount" id="form_quote_amount_input_hidden" value="1" />
<input type="hidden" name="base_currency" id="form_base_currency_hidden" value="$to_curr" />
<input type="hidden" name="base_amount" id="form_base_amount_input_hidden" value="" />
<input type="hidden" name="last_action" id="form_last_action_hidden" value="" />
<input type="hidden" name="interbank_rates" id="form_interbank_rates_hidden" value="0" />
<input type="hidden" name="end_date" id="form_end_date_hidden" value="$on_date" />
<input type="hidden" name="language" id="form_language_hidden" value="en" />
<input type="hidden" name="view" id="form_view_hidden" value="details" />
<input type="submit" id="submit" name="submit" value="Submit" />
</form>
EOT;
echo $form;
?>
<script type="text/javascript">
window.onload = function(){
  document.getElementById('submit').click();
}
</script>

Even the Submit button can be "hidden".

This may be so as reconciliation is based on downloadable statement from the banks.

@joe: your take?

1,057

(3 replies, posted in Announcements)

Attached is the set of changed files between FA 2.4.6 and FA 2.4.7.

* First 2 day download stats at SF.
* Previous release change fileset post.
* SF Main download page
* FA 2.4.7 tar.gz download
** MD5 Hash: 4d206c582c153fa32387bfe6e34aa1e2
** Filesize: 1,577,143 bytes.

Default company
Defaullt theme
Setup => Add new extension/theme/language/chart page
User profile has "show_hints" enabled

If there is no hint to be displayed in Linux (not in XAMPP for windows), there is a column displayed in the right top corner as in the attachment that needs to be removed.

The attachment shows the current versions of all charts, languages, extensions and themes.
Some may be corrected / updated in my unofficial FA24extensions repo and it's forks.

Attach the outstanding balance report along with the Invoice or edit the rep107 to add another page to show the ledger summary of last few transactions. FA cannot assume that all payments will be in full to match Invoice value.

1,061

(1 replies, posted in Report Bugs here)

The default time_zone is defined in the sys_prefs table.
It is also conditionally set as a php.ini variable in the config.php file.

The order of Timezone precedence in the includes/prefs/sysprefs.inc is in lines 33 to 45:

        foreach(get_defined_vars() as $name => $value)
            $this->$name = $value;

        if (!@$this->time_zone)
            $this->time_zone = ini_get('date.timezone');

        if (!$this->time_zone)
            $this->time_zone = 'Europe/Berlin';
            
        if (!isset($this->use_popup_search))
            $this->use_popup_search = false;

           ini_set('date.timezone', $this->time_zone);

This does not respect the php.ini's value (or its' scripted set value from the config.php) and in actuality gets overwritten by the 'Europe/Berlin' fallback value and reflects in the footer timestamp displayed in the FA pages even after login whence a current_user is available in the session variable.

The solution is to make an unconditional setting in the config.(config.default.php) file by replacing lines 25-26:

    if (!ini_get('date.timezone'))
        ini_set('date.timezone', 'Europe/Berlin');

with

    ini_set('date.timezone', 'Europe/Berlin');

The Previous Balance / Arrears do not form part of the Invoice and if done as per your request, will be subject to change when printed again after some payments are received.

Use the setting in Setup => Company Setup => Search Item List => tick the checkbox. Now Ajax suggestions will come in when you start typing in the Item name / code.

1,064

(2 replies, posted in Accounts Payable)

Hardcode the value attribute of the form's input field in the appropriate form and make it hidden - this will apply globally.

1,065

(10 replies, posted in Development)

1. Flexible Barcoding (and label printing) and Bin Locations in Warehousing.
2. Single table for all lookup masters with a filter field for form field dictionary name.
3. Move all functions in reports that are common to more than one report to a separate reporting/includes/report_functions.php file.
4. Categories for Items (cascading dropdowns).
5. Attributes for Items where price does not change.

It would be nice to preserve the whitespace in the commits so that effective changes can be discerned. The whitespace cleanup can be in a separate commit.

The recent changes on 2019-06-17 (1, 2) have been assimilated in my repo separating the actual changes and the whitespace synch.

1,067

(7 replies, posted in Reporting)

Nice work @barbarian. How does the code size compare?

Can anyone explain what the reporting/forms folder is for? We need to update the wiki on this score.

@joe: will this need to be implemented in the core with an appropriate flag / if statement?

1,069

(7 replies, posted in Reporting)

To avoid code bloat the various libraries are not being used. Also "old" does not mean "bad" and "new" does not have to mean "good". Users are free to extend the existing classes to suit their needs and submit it for peer review. Native rendering of TCPDF / FPDI makes for smaller PDF files rather than HTML to PDF conversions. Make a separate extension of your library using DOMPDF and the community will be the richer. Make for a simple meta template for reports and have any plugin library render the reports.

1,070

(7 replies, posted in Items and Inventory)

Typo?

x-frame-options SAMEORIGIN

Reference

Send out the header using PHP:

<?php
header("X-Frame-Options: SAMEORIGIN");
?>

In .htaccess:

Header append X-FRAME-OPTIONS "SAMEORIGIN"
(or)
Header append X-FRAME-OPTIONS "DENY"

Search by Ajax should be okay.

@joe: good for the core?

The functions supplier_credit_rowand customer_credit_row() are defined in includes/ui/ui_input.inc in lines 982-1004.

The link for the supplier_credit_row() is like:

purchasing/inquiry/supplier_inquiry.php?supplier_id=###

The actual value of $credit is being passed into the said functions from/by the calling script which in this case appears to be twice the value it should report..

The supplier_credit_row() is called in:

purchasing/includes/ui/po_ui.inc line 145 (function display_po_header(&$order)):
    supplier_credit_row($order->supplier_id, $order->credit);

purchasing/includes/ui/invoice_ui.inc line 160 (function invoice_header(&$supp_trans)):
    supplier_credit_row($supp_trans->supplier_id, $supp_trans->credit);

@joe: ??

1,075

(5 replies, posted in Setup)

The module must be accessed only through the index.php in the FA webroot. Provide a template of your module access URL.