Browse Source

Merge pull request #385 from otar/master

Issue #142
Jordi Boggiano 11 years ago
parent
commit
84e54b386b

+ 1 - 0
src/Packagist/WebBundle/Controller/WebController.php

@@ -757,6 +757,7 @@ class WebController extends Controller
                     if (!empty($user)) {
                         if (!$package->getMaintainers()->contains($user)) {
                             $package->addMaintainer($user);
+                            $this->get('packagist.package_manager')->notifyNewMaintainer($user, $package);
                         }
 
                         $em->persist($package);

+ 25 - 0
src/Packagist/WebBundle/Model/PackageManager.php

@@ -78,4 +78,29 @@ class PackageManager
 
         return true;
     }
+
+    public function notifyNewMaintainer($user, $package)
+    {
+        $body = $this->twig->render('PackagistWebBundle:Email:maintainer_added.txt.twig', array(
+            'package_name' => $package->getName()
+        ));
+
+        $message = \Swift_Message::newInstance()
+            ->setSubject('You\'ve been added to ' . $package->getName() . ' as a maintainer')
+            ->setFrom($this->options['from'], $this->options['fromName'])
+            ->setTo($user->getEmail())
+            ->setBody($body)
+        ;
+
+        try {
+            $this->mailer->send($message);
+        } catch (\Swift_TransportException $e) {
+            $this->logger->err('['.get_class($e).'] '.$e->getMessage());
+
+            return FALSE;
+        }
+
+        return TRUE;
+    }
+
 }

+ 5 - 0
src/Packagist/WebBundle/Resources/views/Email/maintainer_added.txt.twig

@@ -0,0 +1,5 @@
+{% autoescape false -%}
+
+You've been added to package <a href="{{ path('view_package', { 'name': package_name }) }}">{{ package_name }}</a> as a maintainer.
+
+{%- endautoescape %}