Some SELECT / UPDATE or INSERT sql statement that refers to the tables concerned where an extra or new WHERE clause will need to be used when a certain class of of user logs in (session user).

4,727

(3 replies, posted in Report Bugs here)

Check your encodings in the browser and MySQL and try to enter it using the normal "C" English language in FA.

4,728

(3 replies, posted in Accounts Payable)

The actual ERDs can be captured from SQLyog or MySQL Workbench or any MySQL client - checkout the SQL community edition (the enterprise edition with one standard key not blacklisted for years and possibly allowed for developers unofficially) of SQLyog in GoogleCode.

Although there are many commercial (hammer to kill an ant) applications like AShampoo and FACapture besides behemoths like XARA and PhotoShop, RealDraw and it's ilk, the best in freeware are the Dia Installer in Sourceforge and Vectorian Giotto.

Earlier versions of FACapture that were absolutely freeware (v5.3 or earlier I think) and some plain old PrtScr / Alt-PrtScr are good enough to capture screenshots in Windoze. Overlays in MS Word or any word processor is also possible.

If I remember right I have provided links to some of these programs in the wiki and/or in these forums to help users quickly explain issues.

4,729

(3 replies, posted in Accounts Payable)

To understand the Suppliers import / export process in FrontAccounting, an ERD subset has been prepared and placed on the wiki with notes.

4,730

(4 replies, posted in Installation)

Thanks for including the fix. Please correct it as per the attachment.

4,731

(154 replies, posted in Modules Add-on's)

Could you please provide what changes need to be done in the extension files for it to work?

4,732

(154 replies, posted in Modules Add-on's)

It is only a comparison between manual data entry in FA vs. imported data via extension to see what needs to be fixed in the extension to match your needs.

4,733

(4 replies, posted in Installation)

It's easy to remove these in v2.3 itself. It practically does not affect any table structure or break any script processing.

4,734

(5 replies, posted in Setup)

Actually, I was testing out various means of directly populating the database with suppliers data when I needed to rollback several times to different snapshots. The standard naming feature has just the database name, table prefix and date and time (hh:mm only). Twice, when backups were done within the same integral minute, the old one was overwritten.

Also providing some sort of a suffix to the file name part (not the extension) would be human readable.

We can use several linux and dos commands to achieve the same but when done within the Web UI it seemed cool and useful. Many times we may have the same named file from different VPSes which auto synch to a single folder with similar names and even if the date and time portions are different, the files are easy to get confused with one another.

It also helps avoid having to give FTP and shell / SSH access to the end user.

QED.

4,735

(5 replies, posted in Setup)

Screenshot of the new functionality is attached. The New file name needs to be entered into the comments section of the Create Backup Column.

4,736

(5 replies, posted in Setup)

I have just made a modification of the admin/backups.php file to allow for renaming of backup files to .sql or .gz files after stripping all spaces (and periods for other extensions, forcing an .sql.gz extension for such ones).

@joe: you can include it in the core.

--- old/admin/backups.php    Sat Dec 20 14:35:56 2014
+++ new/admin/backups.php    Sat Dec 20 15:43:18 2014
@@ -142,6 +142,26 @@
         display_error(_("Select backup file first."));
 }
 
+if (get_post('rendump')) {
+    if ($backup_name) {
+        $rename_file = str_replace(" ", "", trim(get_post('comments')));
+        if (strlen($rename_file) > 0) {
+
+            $file_extn = pathinfo($rename_file, PATHINFO_EXTENSION);
+            if (!in_array($file_extn, Array("sql","gz")))
+                $rename_file = str_replace(".", "", $rename_file) . '.sql.gz';
+            $rename_path = BACKUP_PATH . $rename_file;
+
+            if (rename($backup_path, $rename_path)) {
+                display_notification($backup_name . " : " . _("File successfully renamed.")." "
+                    . _("New Filename") . ": " . $rename_path);
+                $Ajax->activate('backups');
+            } else display_error(_("Can't rename backup file."));
+
+        } else display_error($rename_file . " : " . _("Enter valid new file name to rename backup file."));
+    } else display_error(_("Select backup file first."));
+}
+
 if (get_post('deldump')) {
     if ($backup_name) {
         if (unlink($backup_path)) {
@@ -191,6 +211,8 @@
     start_table();
     submit_row('view',_("View Backup"), false, '', '', false);
     submit_row('download',_("Download Backup"), false, '', '', false);
+    submit_row('rendump',_("Rename Backup"), false, '','', 'process');
+    submit_js_confirm('rendump',_("You are about to rename database backup file.\nDo you want to continue?"));
     submit_row('restore',_("Restore Backup"), false, '','', 'process');
     submit_js_confirm('restore',_("You are about to restore database from backup file.\nDo you want to continue?"));

Pushed to my github repo till inclusion into core.

You can also update the FA to the latest version and there are no database changes that affect your install since your existing version. The themes may have changed a little since your initial install. All changes in the themes can be tracked from my github repo.

Although themes may be maintained by other users, the signed package repo is maintained by the lead devs and the onus would be on them to provide for user run unsigned repos if wished, code for which exists in my github repo / FA Wiki as well.

4,738

(4 replies, posted in Accounts Payable)

Unless you create one and donate it to the project.
Quick Entries may do the job in the meanwhile.
Sales person commissions....

Check the permissions of the modules folder and the specific extension folder as well. Generally 644 is okay for all files as long as it is owned by the webserver process.

Try the equivalent (for your brand of linux) of:

FAROOT=/var/www/frontac
find ${FAROOT} -type f -exec chmod 644 \{\} \;
find ${FAROOT} -type d -exec chmod 755 \{\} \;

4,740

(154 replies, posted in Modules Add-on's)

1. Take a backup of the db.
2. Manually enter one set of transactions that you would normally want to import.
3. Take another backup of the db.
4. Compare the two say in WinMerge.
5. Now you can get the changed entries (ignore the history and last update entries in the user tables).
6. Group the entries in the order in which they were performed and match the values to the source form fields.
7. Lookup any other entries in the config.db, session and sys_prefs and other defaults tables.

4,741

(10 replies, posted in Wish List)

Yes, I saw the automatic creation entry, but only wanted it for new installations to be complete. This will be useful in code analysis as well rather than searching all over the php files for all possible values.

4,742

(4 replies, posted in Report Bugs here)

Even the Company Name too can be made as big (50).

--- old/admin/company_preferences.php    Mon Sep 29 21:21:28 2014
+++ new/admin/company_preferences.php    Thu Dec 18 23:35:49 2014
@@ -161,15 +161,15 @@
 
 table_section(1);
 
-text_row_ex(_("Name (to appear on reports):"), 'coy_name', 42, 50);
+text_row_ex(_("Name (to appear on reports):"), 'coy_name', 50, 50);
 textarea_row(_("Address:"), 'postal_address', $_POST['postal_address'], 35, 6);
 text_row_ex(_("Domicile:"), 'domicile', 25, 55);
 
 text_row_ex(_("Phone Number:"), 'phone', 25, 55);
 text_row_ex(_("Fax Number:"), 'fax', 25);
-email_row_ex(_("Email Address:"), 'email', 25, 55);
+email_row_ex(_("Email Address:"), 'email', 50, 55);
 
-email_row_ex(_("BCC Address for all outgoing mails:"), 'bcc_email', 25, 55);
+email_row_ex(_("BCC Address for all outgoing mails:"), 'bcc_email', 50, 55);
 
 text_row_ex(_("Official Company Number:"), 'coy_no', 25);
 text_row_ex(_("GSTNo:"), 'gst_no', 25);

4,743

(154 replies, posted in Modules Add-on's)

Make sure that the "_ref" fields have no spaces in them. When a new contact is entered, spaces creep into the crm_persons.ref field.

4,744

(1 replies, posted in FA Modifications)

Another issue that introduces duplicate customer branches is the retention of last edited branch in the bottom update form even when a new customer / branch is chosen and the listing display stands refreshed correctly. When a new customer is chosen after adding/editing one branch in the branch edit form, instead of staying put in the branch edit form, it should show a new branch form.

4,745

(10 replies, posted in Wish List)

We now need to synch these changes into the default Chart of Accounts:

INSERT INTO `0_sys_prefs` VALUES ('default_quote_valid_days', 'glsetup.sales', 'smallint', 6, 30);

The code is done to auto create this entry but adding it to the CoA's is just for completion sake.

@geoffreywalton: That is a good catch!

You're right about the orders <==> sales nomenclature - it had me stumped for a while in the early days, but I guess it was to distinguish it from the "sequential order" connotation.

The function start_table() is in the includes/ui/ui_controls.inc file that must have gotten the constants after the original osc_import (and now osc_orders) extension was made.

@joe: You may take the version bumped commit from my GitHub repo.

$trial = (isset($_POST['trial']) && ($_POST['trial']!=null)) ;

is way better.

4,748

(10 replies, posted in Wish List)

Excellent idea.
@joe: can we get a new entry into the sys_prefs table and company preferences form for this and it's fallback in the config.php or in the scripts for backwards compatibility?

What is the meaning of $trial = !null; ? Is the value true or false? Is it's value dependent on PHP version used?

This logic can certainly do with some housekeeping.

4,750

(1 replies, posted in Setup)

Upload the en_US-new.sql into your company/#/backup folder Setup=>Backup & Restore => Restore and change the admin password to what you want. Then edit the fiscal years table to have what data you want and then begin operations within the GUI.

Alternatively check what extra data is in the current backup as compared to the en_US-new.sql file and strip them out - beware of resetting all AUTO_INCREMENT values to 0 (zero) so that they auto synch themselves to the next available primary key number.