Yes, this is the reason why we have rewritten this and other major issues in 2.2 Beta.
/Joe
It's much more fun, when you can discuss your problems with others...
You are not logged in. Please login or register.
FrontAccounting forum → Posts by joe
Yes, this is the reason why we have rewritten this and other major issues in 2.2 Beta.
/Joe
Since version 2.2 FrontAccounting has new, flexible access level control system. In contrast to previous system based on arrays stored in global config.php file, the new system uses per company security_roles tables. This approach makes FrontAccounting finally suitable for multicompany installation involving various types of companies.
1. Security schema
New access control system uses following concepts:
. Security area - elementary fragment of application functionality which is placed under control of access system;
. Security role - set of security areas which is accessable for user with some role in company;
. Security section - a couple of security areas of similar application grouped together to make roles defining easier.
Security areas stored in global $security_areas array have two properties:
identifier (in numeric and string form) and description. Description is used only to identify area in security roles editor, while string identifiers are
used in various places of source code to be checked against current user permissions.
Every security area belongs to one security section, which can be considered as upper level of access control. All defined security sections are stored
in global $security_sections array together with descriptions used in roles editor.
2. Access Setup
FrontAccounting since version 2.2 has role based access system. It means that every user defined in a system has assigned role related to his position in company. For any user only security areas which belong to user's role are accesible.
To grant access to any security area for any role administrator first have to make accessible also related area's security section. Switching security section off disables access to all related security areas.
Security roles predefined in FrontAccounting initial database can be customized or completely rewritten by administrator according to company internal security policy.
Some security areas crucial for overall site security are accesible only for administrators of the first installed company, who can be considered as
superadmins. All those important areas are grouped in section 0 (System administration), and as of FA 2.2 involve:
. Installing/update of companies
. Installing/update language message files
. Installing/activation system extensions
. System upgrades
3. How all it works
Every user defined in a system has one security role assigned. List of all accesible security areas/sections codes is retrieved from security_roles
table on user login, and cached in user session variable for fast checking. Every page in a system has at least one related security area, which is
assigned to $page_security global variable at the beginning of the page script.
Page access control is performed by check_page_security() call in page() function (used for every displayed page) or by can_access_page()
call in FrontReport constructor for all reports. When user has granted access rights to checked security area, selected page is displayed or report generated. Otherwise information message is displayed and page/report generation is aborted.
4. Security extensions
FrontAccounting application accepts two forms of functionality additions:
extension modules and extension plugins. Both types of extensions can use standard security areas/sections to control access to introduced functionality, or define its own security areas and/or sections.
To extend access control system with additional sections/areas, extension need to contain a file were all new extensions are defined. The access control
file relative path should be entered during extension install process on Install/Activate Extensions page, or as 'access' property during direct entry
in installed_extensions.php file.
Every php script using security extensions have to call function add_security_extensions() to make defined extensions active. The call should
be placed between session.inc inclusion and page() or FrontReport() call.
5. Example access control configuration file
This is content of sample access control file for CRM extension module:
<?php
/*
Define security section codes
*/
define('SS_CRM_C', 101<<8);
define('SS_CRM', 102<<8);
define('SS_CRM_A', 103<<8);
/*
Additional security sections for CRM module
*/
$security_sections[SS_CRM_C] = _("CRM configuration");
$security_sections[SS_CRM] = _("CRM transactions");
$security_sections[SS_CRM_A] = _("CRM analytics");
/*
Additional security areas for CRM module
*/
$security_areas['SA_CRMSETUP'] = array(SS_CRM_C|1, _("CRM module setup"));
$security_areas['SA_CRMCONTACTENTRY'] = array(SS_CRM|1, _("Customer contact entry"));
$security_areas['SA_CRMANALYITCS'] = array(SS_CRM|1, _("Pre-sale contact analytics"));
?>The exact values used for security section codes are not very important, as they are rewritten by access control system during integration of
access extensions. Therefore numeric values of security sections/areas should never be used directly in the extensions source. Use string representations instead when needed, or values retrieved from $security_areas array.
You can increase the decimals in percent in Display Setup/Preferences.
/Joe
This sounds interesting. Hopefully there are some developers out there to enter into this amazing software. Unfortunately the core developers are deeply involved in making release 2.2 ready for you folks.
/Joe
This can be done in tab 'Items and Inventory' - 'Purchase Prices'. Here you can set the conversion factor and UOM for the supplier.
/Joe
No, I mean the built-in POS fascility. You can set it up under tab Setup.
/Joe
Is already updated on the cvs unstable repository. If you are not able to fetch the cvs, you can just wait for the RC.
/Joe
Or use the email in the Announcement forum.
/Joe
Our official email box for third party code submissions is contributions@frontaccounting.com
You may use it for direct communication with us to submit files and other development stuff.
/Joe
Hello,
FA is devoped to be used all aound the Globe. Mostly at least. At the same time FA has good performance and is easy to operate. I think you should try a little harder to get familiar with FA. However here are the answers:
1. I guess there would be a harddisk limit on the server, but there are no internal limits to the number of companies you can create.
2. The users and access-roles are per company and can be set by the admin.
3. From release 2.2 you can put a timezone stamp on the reports.
4. You can customize the invoice in the file /reporting/includes/header2.inc
5. You can put a Tax Id on the company and your customers and these will print on the document.
6. FA is very flexible by handling the address field. You can put the address information just as you like it to be shown.
Please download FA and try further.
/Joe
Send it to joe(dot)hunt(dot)consulting(@)gmail(dot)com.
Please replace (dot) with a '.' and (@) with a'@'.
Sorry for the cryptic email. I am trying to eliminate spam.
You can also pick up the email from the user list.
/Joe
Yes, I guess so too. We make an option on the delivery note to print as packing slip. Also an extra link on the direct print option page.
/Joe
Sounds like a great idea. Would you like to share it with us?
/Joe
Another option is to place the website in the address box as a last line.
The extra custom fields has been removed in release 2.2.
/Joe
No I am afraid not but you may look in the forum Jobs wanted/offered and see if there are any or place a wish here.
/Joe
This website, walawongroup.com, has nothing to do with development of FrontAccounting. They have been attacked by som foreign spammer and are trying to solve it.
We will remove this from the footer.
/Joe
Why not use the POS fascility to enter your cash sales. You could name your direct sale customer with a prefix so he is put first in the list. This way he will always be default.
/Joe
You can use the 'Legal text on invoice' to incorporate your website.
/Joe
If this is a common wish, then we will consider a company setup on this. Let us see what other think.
/Joe
Yes this is a bug. The entries from 2.1 should be shown as closed entries.
Fixed in CVS unstable. Affected file /gl/inquiry/journal_inquiry.php.
So you will have to mark the 'Show closed' to see the old entries.
/Joe
To remove the amount fields, enter /reporting/rep110.php with a texteditor. Comment the lines with // in front where you see the amounts.
To remove the payment terms, you will have to enter /reporting/includes/header2.inc and find the line with payment terms and comment this line too.
I hopi you find it.
/Joe
No, I am afraid not. You will have to do that by changing in the code.
/Joe
The Journal Inquiry has a SQL join with the new table audit_trail to pick up user and other info. Therefore it only shows new entries done in 2.2 Beta.
Maybe we should allow null values to be here too. I will discuss it with the other developers.
/Joe
In 2.1.X you should also select the correct bank account in the selection boxes before print out.
In 2.2 Beta this is done automatically by default currency.
In suppliers, use the space bar and search your supplier. Write as much as you want or a '*' would get them all. Then you can edit.
This is the purpose of using search supplier list.
You can also turn on 'Show hints for new users' in Display setup /preferences.
/Joe
FrontAccounting forum → Posts by joe
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 4 official extensions. Copyright © 2003–2009 PunBB.