'label' => __('Administrateur'),
'tab' => __('Permissions'),
'column' => true,
+ 'can' => 'company:admin',
'default' => $buid,
]);
'database_default' => 0,
'allows_empty' => false,
'column' => true,
+ 'can' => 'company:admin',
'tab' => __('Permissions')]
);
'database_default' => 0,
'allows_empty' => false,
'column' => true,
+ 'can' => 'company:admin',
'tab' => __('Permissions')]
);
'tab' => __('Chiffres'),
'column' => true,
'column_label' => __('CA'),
+ 'can' => 'company:admin',
'read_only' => true]);
$currentYear = date('Y');
'column' => ($i >= $currentYear - 2),
//'column' => true,
'column_label' => __('CA') . ' ' . $i,
+ 'can' => 'company:admin',
'read_only' => true]);
}
'tab' => __('Chiffres'),
'column' => true,
'column_label' => __('Impayés'),
+ 'can' => 'company:admin',
'read_only' => true]);
for ($i = $currentYear; $i >= 2006; $i--) {
$this->addField('c_unpaid_' . $i, Integer::class, __('Impayés') . ' ' . $i, ['tab' => __('Impayés'),
'column' => false,
'column_label' => __('Impayés') . ' ' . $i,
+ 'can' => 'company:admin',
'read_only' => true]);
}
if ($bu->hasPermissionTo('company:admin')) {
return;
}
- $builder->whereIn('id', $bu->getManagedCompanies());
+
+ $companies = array_diff($bu->getManagedCompanies(), [$bu->company]);
+ $builder->whereIn('id', $companies);
}
public function getUsers()
$this->addField(['name' => 'slack',
'label' => __('Identifiant Slack'),
'type' => Text::class,
- 'tab' => __('Equipe Cubedesigners')]
+ 'tab' => __('Equipe Cubedesigners'),
+ 'can'=>'user:admin',
+ ]
);
$this->addField(['name' => 'oxygene',
'label' => __('Trigramme Oxygene'),
'type' => Text::class,
- 'tab' => __('Equipe Cubedesigners')]
+ 'tab' => __('Equipe Cubedesigners'),
+ 'can'=>'user:admin',
+ ]
);
$this->addField(['name' => 'planning_color',
'label' => __('Couleur plannings'),
'type' => Color::class,
- 'tab' => __('Equipe Cubedesigners')]
+ 'tab' => __('Equipe Cubedesigners'),
+ 'can'=>'user:admin',
+ ]
);
$this->addField(['name' => 'locale',
1 => __('Equipier'),
2 => __('Admin'),
3 => __('Comptable')],
+ 'can'=>'user:admin',
'tab' => 'Extranet V1']);
$this->addField(['name' => 'c_ca',
'type' => Integer::class,
'tab' => __('Chiffres'),
'column' => true,
- 'read_only' => true]);
+ 'read_only' => true,
+ 'can'=>'user:admin',
+ ]);
$this->addField(['name' => 'toolbox_settings',
'type' => Hidden::class, 'default' => '{}', 'cast' => 'json']);
}
}
- foreach ($data['companyManagedBy'] as $company => $admins) {
- foreach ($admins as $admin) {
- if (!isset($data['managedCompanies'][$admin])) {
- $data['managedCompanies'][$admin] = [];
+ foreach ($data['companyManagedBy'] as $company => $administratingCompanies) {
+ foreach ($administratingCompanies as $administratingCompany) {
+ if (!isset($data['companyUsers'][$administratingCompany])) {
+ continue;
+ }
+ $users = $data['companyUsers'][$administratingCompany];
+ foreach ($users as $u) {
+ if (!isset($data['managedCompanies'][$u])) {
+ $data['managedCompanies'][$u] = [];
+ }
+ $data['managedCompanies'][$u][] = $company;
}
- $data['managedCompanies'][$admin][] = $company;
}
}
- foreach ($data['companyUsers'] as $company => $users) {
- if (!isset($data['managedCompanies'][$company])) {
- continue;
- }
+ foreach ($data['managedCompanies'] as $user => $companies) {
$managedUsers = [];
- foreach ($data['managedCompanies'][$company] as $managedCompany) {
- if (!isset($data['companyUsers'][$managedCompany])) {
+ foreach ($companies as $company) {
+ if (!isset($data['companyUsers'][$company])) {
continue;
}
- $managedUsers = array_merge($managedUsers, $data['companyUsers'][$managedCompany]);
+ $managedUsers = array_merge($managedUsers, $data['companyUsers'][$company]);
}
- foreach ($users as $user) {
- if (!isset($data['managedUsers'][$user])) {
- $data['managedUsers'][$user] = [];
- }
- $data['managedUsers'][$user] = array_merge($data['managedUsers'][$user], $managedUsers);
- }
+ $data['managedUsers'][$user] = $managedUsers;
}
return $data;