johnson
on May 21. 2008. 9:12 am
Hi,
how can I hide list of contractors in Owner Company section so that contractors can't access it?
I want that just admins have access to that list.
If functionality is not build in can you give me short instructions for some hack?
Staff
Ilija Studen
on May 21. 2008. 9:22 am
How did you set up your contractors? As members of your company or as separate companies?
activeCollab team member |
LinkedIn
johnson
on May 28. 2008. 6:49 pm
Studen!
do you have some ideas? :)
Staff
Ilija Studen
on May 28. 2008. 7:48 pm
New permissions in v1.1 give you more control because members of other companies can have roles also. They do not appear as part of your company. I would use that in order to set up contractors. Please note that clients see people involved in a project they can see. If you add contractors to a specific project, client working on that project will be able to see them. Also note that you cannot move people between companies.
You will need to delete old contractor accounts and create new ones or change company_id value for specific users directly in database. Please let me know if you need specific instructions.
activeCollab team member |
LinkedIn
johnson
on May 28. 2008. 8:04 pm
I would just like to modify PHP so that members of company can't access page that is displaying ppl from main company
I think link is always the same: /public/index.php/people/17
Staff
Ilija Studen
on May 28. 2008. 8:13 pm
This hack is a bit dirty, but if you really think this is the solution here it is. Open CompanyProfileController class located in /activecollab/application/modules/system/controllers. Find index() method and replace it with:
/**
* Show company details
*
* @param void
* @return null
*/
function index() {
if($this->active_company->isOwner() && !$this->logged_user->isOwner()) {
$this->redirectTo('people');
} // if
if($this->request->getFormat() == FORMAT_HTML) {
$users = $this->active_company->getUsers($this->logged_user->visibleUserIds());
$this->smarty->assign('users', $users);
} else {
$this->serveData($this->active_company, 'company');
} // if
} // index
activeCollab team member |
LinkedIn
johnson
on May 31. 2008. 7:35 pm
Hm,
I still can see main company contractors when I am logged in as contractor
Dashboard»People» company name» Profile
Staff
Ilija Studen
on May 31. 2008. 8:24 pm
This hack is designed so clients cannot see full list of owner company members, not to hide owner company members from one another. While that hack would be technically possible, I cannot provide it because I would need to have a good knowledge about your process and who is who in your system. It would also fall apart as soon as you changed something in the structure.
I strongly recommend that you get you have contractors set as separate companies. System is design so members of owner company see all other members of the same company and that is not gonna change any time soon.
activeCollab team member |
LinkedIn