<?php
namespace Diplix\KMGBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="roles")
* @ORM\Entity()
*/
class Role extends BasicEntity // implements RoleInterface
{
const SYS_ADMIN = "ROLE_SYS_ADMIN";
const SUPER_ADMIN = "ROLE_SUPER_ADMIN";
const ADMIN1 = "ROLE_ADMIN1";
const ADMIN2 = "ROLE_ADMIN2";
const ACCOUNTING = "ROLE_ACCOUNTING";
const ACCOUNTING_EDIT = "ROLE_ACCOUNTING_EDIT";
const USER_ADMIN = "ROLE_USER_ADMIN";
const GLOBAL_ORDER_ADMIN = "ROLE_GLOBAL_ORDER_ADMIN";
const GLOBAL_ADDRESS_ADMIN = "ROLE_GLOBAL_ADDRESS_ADMIN";
const SUB_USER_ADMIN = "ROLE_SUB_USER_ADMIN";
const SUB_ORDER_ADMIN = "ROLE_SUB_ORDER_ADMIN";
const NO_TIME_RESTRICTION = "ROLE_NO_TIME_RESTRICTION";
const EDIT_CLOSED_ORDERS = "ROLE_EDIT_CLOSED_ORDERS";
const ORDER_CHANGE_OWNER = "ROLE_CHANGE_OWNER";
const USER = "ROLE_USER";
const BEREITSCHAFTSDISPO = "ROLE_BEREITSCHAFTSDISPO";
const API = "ROLE_API";
const API_IMPORT = "ROLE_API_IMPORT";
const DISPO = "ROLE_DISPO";
const MEMBER_VIEW_ALL_RIDES = "ROLE_MEMBER_VIEW_ALL_RIDES";
const ALLOW_INSTANT_ORDER = "ROLE_ALLOW_INSTANT_ORDER";
/**
* @ORM\Column(type="integer",name="id")
* @ORM\Id()
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="name", type="string", length=60)
*/
private $name;
/**
* @ORM\Column(name="role", type="string", length=40, unique=true)
*/
private $role;
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="roles")
*/
private $users;
public static function createRole($roleName,$roleIdentifier)
{
$r = new Role();
$r->setName($roleName);
$r->setRole($roleIdentifier);
return $r;
}
public function __construct()
{
$this->users = new ArrayCollection();
}
/**
* @see RoleInterface
*/
public function getRole()
{
return $this->role;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* @param string $name
* @return Role
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set role
*
* @param string $role
* @return Role
*/
public function setRole($role)
{
$this->role = $role;
return $this;
}
/**
* Add users
*
* @param User $users
* @return Role
*/
public function addUser(User $users)
{
$this->users[] = $users;
return $this;
}
/**
* Remove users
*
* @param User $users
*/
public function removeUser(User $users)
{
$this->users->removeElement($users);
}
/**
* Get users
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getUsers()
{
return $this->users;
}
public function __toString()
{
return $this->getRole();
}
}