I need an extension for Magento which creates a hierarchical set of administrators with selective access to customers.
That is: the new extension should allow a website admininstrator - we'll call him manager - to be given access to customers and other managers selectively. For example: Manager M1 can see and administrate customers C1, C2, C3 and C4; manager M2 can see and administrate customers C5, C6, C7 and C8; manager M3 can see and administrate managers M1 and M2 as well as "their" customers C1-C8, but not customers C9 and C10. Think of M1 and M2 as sales reps with M3 as their manager and you get a clear picture of the objective.
By "administrate" I mean "do what the site administrator can do", i.e. view, dispatch or cancel orders, create and view invoices, create customers, change customer data etc, subject to any limitations imposed by role permissions.
There has to be an easy way to assign customers to managers (or managers to customers, whichever is easier). It is desirable that customers created by a manager are automatically assigned to that manager.
Keeping it clean and simple is paramount. Smart simplicity is the key, not a jungle of database tables and massive rewriting of code. The extension must follow general magento requirements and guidelines for Magento Connect.
The following is a non-binding suggestion; any other solution that achieves the described goals is just as welcome:
1. Add a new (multi-value or multiple) "manager" attribute/property to customers.
2. Assume that the managers are existing admin users.
3. Modify the select statement which lists customers to match the logged-in user against that attribute, e.g. select from customer_entity [...] AND WHERE [url removed, login to view] = ($logged-in-user-admin_user.user_id)
This should enable every manager to see his own customers and no others.
4. Add a manager field to the customer data interface so that managers can be set or changed.
5. Ensure that the manager value is selected and visible along with all other customer data wherever customer data are displayed (so, everywhere where [url removed, login to view] and [url removed, login to view] is displayed, the name corresponding to [url removed, login to view] should be displayed as well).
That's about it for this assignment. The base code is latest stable.
Please give a quote for each of the following conditions that you would be willing to work under:
- I own your work and may resell it to third parties.
- You own your work and may sell it to third parties.
- Your work will be released as FOSS under the same license as magento itself, OSL 3.0.
The posted budget has nothing to do with reality; the actual budget will be set according to the (reasonable) bids.
12 freelancers are bidding on average €2921 for this job
Treewalker is Magento expert company. We bring nearly 4 years of extensive experience in Magento customization and development. Please see PMB to know more about Treewalker work experience.