}
$m = new Members($filters);
- $list_members = $m->getSelectizedMembers($this->get('zdb'));
+ $list_members = $m->getSelectizedMembers($this->get('zdb'), $this->get('login'));
$members = [];
if (count($list_members) > 0) {
|| $this->login->isGroupManager()
) {
$m = new Members($filters);
- $ids = $m->getList(false, array(Adherent::PK, 'nom_adh', 'prenom_adh'));
+
+ $ids = array();
+ $fields = [Adherent::PK, 'nom_adh', 'prenom_adh'];
+ if ($this->login->isAdmin() || $this->login->isStaff()) {
+ $ids = $m->getMembersList(false, $fields);
+ } else {
+ $ids = $m->getManagedMembersList(false, $fields);
+ }
+
$ids = $ids->toArray();
foreach ($ids as $k => $m) {
if ($m['id_adh'] == $args['id']) {
namespace Galette\Repository;
+use Galette\Core\Login;
use Galette\Entity\Social;
use Throwable;
use Galette\DynamicFields\DynamicField;
* Get members list to instanciate dropdowns
*
* @param Db $zdb Database instance
+ * @param Login $login Login instance
* @param integer $current Current member
*
* @return array
*/
- public function getSelectizedMembers(Db $zdb, $current = null)
+ public function getSelectizedMembers(Db $zdb, Login $login, $current = null)
{
$members = [];
$required_fields = array(
'prenom_adh',
'pseudo_adh'
);
- $list_members = $this->getList(false, $required_fields);
+
+ $list_members = [];
+ if ($login->isAdmin() || $login->isStaff()) {
+ $list_members = $this->getList(false, $required_fields);
+ } elseif ($login->isGroupManager()) {
+ $list_members = $this->getManagedMembersList(false, $required_fields);
+ }
if (count($list_members) > 0) {
foreach ($list_members as $member) {