101 lines
2.9 KiB
PHP
101 lines
2.9 KiB
PHP
<?php
|
|
namespace App\Repositories\Core\Auth;
|
|
|
|
use App\Models\Core\Auth\UserStatus;
|
|
|
|
class UserStatuses
|
|
{
|
|
// compte le nombre de statut utilisateur
|
|
public static function count()
|
|
{
|
|
return UserStatus::count();
|
|
}
|
|
|
|
// supprime un statut utilisateur
|
|
public static function delete($id)
|
|
{
|
|
return UserStatus::destroy($id);
|
|
}
|
|
|
|
// ajoute un statut utilisateur
|
|
public static function insert($name, $translated, $negociator)
|
|
{
|
|
return UserStatus::create(['name' => $name, 'translated' => $translated, 'negociator' => $negociator]);
|
|
}
|
|
|
|
// reset le négociateur parmi les statuts
|
|
public static function reset_negociator_status()
|
|
{
|
|
return UserStatus::update(['negociator' => null]);
|
|
}
|
|
|
|
// récupère toutes les infos sur les statuts utilisateur
|
|
public static function select_all()
|
|
{
|
|
return UserStatus::all()->toArray();
|
|
}
|
|
|
|
// récupère les infos pour un statut utilisateur donné
|
|
public static function select_by_id($id)
|
|
{
|
|
return UserStatus::find($id)->toArray();
|
|
}
|
|
|
|
// récupère les infos pour un statut utilisateur donné
|
|
public static function select_by_name($name)
|
|
{
|
|
return UserStatus::byName($name)->first()->toArray();
|
|
}
|
|
|
|
// récupère les infos du statut considéré comme négociant d'un contrat
|
|
public static function select_by_negociator()
|
|
{
|
|
$status = UserStatus::byNegociator()->first();
|
|
return $status ? $status->toArray() : null;
|
|
}
|
|
|
|
// met à jour le statut actif/inactif d'un statut utilisateur
|
|
public static function toggle_active($id, $active)
|
|
{
|
|
return UserStatus::find($id)->update(['active' => $active]);
|
|
}
|
|
|
|
// met à jour les informations d'un statut utilisateur
|
|
public static function update($id, $name, $translated, $negociator)
|
|
{
|
|
return UserStatus::find($id)->update(['id' => $id, 'name' => $name, 'translated' => $translated, 'negociator' => $negociator]);
|
|
}
|
|
|
|
// met à jour les informations d'un statut utilisateur
|
|
public static function update_negociator($id, $negociator)
|
|
{
|
|
return UserStatus::find($id)->update(['negociator' => $negociator]);
|
|
}
|
|
|
|
public static function getAllUserStatuses($input)
|
|
{
|
|
$data = [];
|
|
$statuses = self::select_all();
|
|
foreach ($statuses as $status) {
|
|
if ($status['active'] <= 0) {
|
|
continue;
|
|
}
|
|
$item = array();
|
|
$item['id'] = $status['id'];
|
|
$item['name'] = \App\Repositories\Translate::translateClient($status['translated']);
|
|
array_push($data, $item);
|
|
}
|
|
$data = \App\Repositories\Functions::array_orderby($data, 'name', SORT_ASC);
|
|
return $data;
|
|
}
|
|
|
|
public static function getOptions()
|
|
{
|
|
return UserStatus::orderBy('name', 'asc')->get()->pluck('name', 'id')->toArray();
|
|
}
|
|
|
|
public static function getNegociatorsOptions()
|
|
{
|
|
}
|
|
}
|