Login or Register

RSS IconRecent posts in this topic

avatar
Ilija Studen on Nov 1. 2007. 8:11 am
This hack lets everyone in the system, including clients, to create new projects. User who creates a project will be set as project leader. Note that this is a hack and that it's not bulletproof, but if you really need to have this here is how you can get it:

1. Open Project.class.php located in /activecollab/application/modules/system/models/projects and find canAdd() method. Replace:

function canAdd($user) {
  return $user->isOwner() && ($user->isProjectManager() || $user->isAdministrator() || $user->hasPermission('add_project'));
} // canAdd


with:

function canAdd($user) {
  return true;
} // canAdd


2. Open _project_form.tpl located in /activecollab/application/modules/system/views/project and replace:

{if $logged_user->isOwner()}
  {wrap field=leader_id}
    {label for=projectLader required=yes}Leader{/label}
    {select_user name='project[leader_id]' value=$project_data.leader_id id="projectLader" optional=no}
  {/wrap}
  
  {wrap field=company_id}
    {label for=projectCompany}Client{/label}
    {select_company name='project[company_id]' value=$project_data.company_id id=projectCompany optional=yes exclude=$owner_company->getId()}
  {/wrap}
{/if}


and replace it with:

{if $logged_user->isOwner()}
  {wrap field=leader_id}
    {label for=projectLader required=yes}Leader{/label}
    {select_user name='project[leader_id]' value=$project_data.leader_id id="projectLader" optional=no}
  {/wrap}
  
  {wrap field=company_id}
    {label for=projectCompany}Client{/label}
    {select_company name='project[company_id]' value=$project_data.company_id id=projectCompany optional=yes exclude=$owner_company->getId()}
  {/wrap}
{else}
  <input type="hidden" name="project[leader_id]" value="{$logged_user->getId()}" />
{/if}
activeCollab team member

RSS IconRecent posts in this topic