]> git.agnieray.net Git - galette.git/blobdiff - galette/lib/Galette/Entity/Adherent.php
Create member from parent
[galette.git] / galette / lib / Galette / Entity / Adherent.php
index 387932983688912dc46c9da8e1d96cd268514093..fca63ec93418d28c8fc7b92f5525276cfd59202f 100644 (file)
@@ -2039,7 +2039,27 @@ class Adherent
     }
 
     /**
-     * Can current logged in user edit member
+     * Can current logged-in user create member
+     *
+     * @param Login $login Login instance
+     *
+     * @return boolean
+     */
+    public function canCreate(Login $login)
+    {
+        global $preferences;
+
+        if ($this->id && $login->id == $this->id || $login->isAdmin() || $login->isStaff()) {
+            return true;
+        }
+
+        if ($preferences->pref_bool_create_member && $login->isLogged()) {
+            return true;
+        }
+    }
+
+    /**
+     * Can current logged-in user edit member
      *
      * @param Login $login Login instance
      *
@@ -2113,4 +2133,18 @@ class Adherent
     {
         return $this->sendmail;
     }
+
+    /**
+     * Set member parent
+     *
+     * @param integer $id Parent identifier
+     *
+     * @return $this
+     */
+    public function setParent(int $id): self
+    {
+        $this->_parent = $id;
+        $this->loadParent();
+        return $this;
+    }
 }