From e05a5dd7e544557634fbeff36312b59e1ff2adb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Thieriot?= Date: Sun, 7 Oct 2012 00:09:48 +0200 Subject: [PATCH 1/6] Try to fix #34: Sending an email when contributing --- app/autoload.php | 6 +----- .../Controller/ContributionController.php | 14 ++++++++++++++ .../Resources/views/Contribution/email.txt.twig | 13 +++++++++++++ 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 src/Protalk/MediaBundle/Resources/views/Contribution/email.txt.twig diff --git a/app/autoload.php b/app/autoload.php index aa73279..5ee68f6 100755 --- a/app/autoload.php +++ b/app/autoload.php @@ -51,8 +51,4 @@ }); AnnotationRegistry::registerFile(__DIR__.'/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'); -// Swiftmailer needs a special autoloader to allow -// the lazy loading of the init file (which is expensive) -require_once __DIR__.'/../vendor/swiftmailer/lib/classes/Swift.php'; -Swift::registerAutoload(__DIR__.'/../vendor/swiftmailer/lib/swift_init.php'); - +require __DIR__.'/../vendor/swiftmailer/lib/swift_required.php'; diff --git a/src/Protalk/MediaBundle/Controller/ContributionController.php b/src/Protalk/MediaBundle/Controller/ContributionController.php index 7271b8e..40dfc51 100644 --- a/src/Protalk/MediaBundle/Controller/ContributionController.php +++ b/src/Protalk/MediaBundle/Controller/ContributionController.php @@ -8,6 +8,8 @@ use Symfony\Component\HttpFoundation\Request; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; +use Swift_Message; +use Swift_Mail; class ContributionController extends Controller { @@ -29,6 +31,8 @@ public function newAction(Request $request) $em->persist($contribution); $em->flush(); + $this->sendMail($contribution); + $this->get('session')->setFlash('contribution-notice', 'Thank you! Your contribution has been received.'); return $this->redirect($this->generateUrl('contribute_new')); @@ -38,4 +42,14 @@ public function newAction(Request $request) return $this->render('ProtalkMediaBundle:Contribution:new.html.twig', array('form' => $form->createView())); } + private function sendMail($contribution) + { + $message = Swift_Message::newInstance() + ->setSubject('ProTalk - You have new contribution from: ' . $contribution->getEmail()) + ->setFrom('no-reply@protalk.me') + ->setTo('info@protalk.me') + ->setBody($this->renderView('ProtalkMediaBundle:Contribution:email.txt.twig', array('contribution' => $contribution))) + ; + $this->get('mailer')->send($message); + } } diff --git a/src/Protalk/MediaBundle/Resources/views/Contribution/email.txt.twig b/src/Protalk/MediaBundle/Resources/views/Contribution/email.txt.twig new file mode 100644 index 0000000..1b1fa8d --- /dev/null +++ b/src/Protalk/MediaBundle/Resources/views/Contribution/email.txt.twig @@ -0,0 +1,13 @@ +The new contribution details: + +Id: {{ contribution.id }} +Category: {{ contribution.category }} +Name: {{ contribution.name }} +Email: {{ contribution.email }} +HostUrl: {{ contribution.hostUrl }} +HostName: {{ contribution.hostName }} +Title: {{ contribution.title }} +SlidesUrl: {{ contribution.slidesUrl }} +Speaker: {{ contribution.speaker }} +Description: {{ contribution.description }} +Tags: {{ contribution.tags }} From a4087365d996eec2619bea7c3dbee36a05ddacf9 Mon Sep 17 00:00:00 2001 From: Steffan Harries Date: Sat, 13 Oct 2012 15:07:52 +0100 Subject: [PATCH 2/6] Homepage view logic to show view/views --- .../Resources/views/Home/index.html.twig | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/Protalk/MediaBundle/Resources/views/Home/index.html.twig b/src/Protalk/MediaBundle/Resources/views/Home/index.html.twig index 4abeff7..12267c6 100755 --- a/src/Protalk/MediaBundle/Resources/views/Home/index.html.twig +++ b/src/Protalk/MediaBundle/Resources/views/Home/index.html.twig @@ -29,8 +29,17 @@

{{ media.getTruncatedDescription() }}

-

Binoculars Image -

+

+ Binoculars Image + + +

@@ -61,7 +70,16 @@
-

Binoculars Image

+

+ Binoculars Image + +

From 640aeed560ffe1dcbf31979752efef2f2021eb2a Mon Sep 17 00:00:00 2001 From: Steffan Harries Date: Sat, 13 Oct 2012 17:55:03 +0100 Subject: [PATCH 3/6] Adds PageAdmin class and configuration Fix indentation --- app/config/config.yml | 5 +++ src/Protalk/AdminBundle/Admin/PageAdmin.php | 47 +++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/Protalk/AdminBundle/Admin/PageAdmin.php diff --git a/app/config/config.yml b/app/config/config.yml index be86ab5..5faad24 100755 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -118,6 +118,11 @@ services: tags: - { name: sonata.admin, manager_type: orm, group: protalk_media, label: Rating } arguments: [null, Protalk\MediaBundle\Entity\Rating, null] + protalk.media.admin.page: + class: Protalk\AdminBundle\Admin\PageAdmin + tags: + - { name: sonata.admin, manager_type: orm, group: protalk_media, label: Page } + arguments: [null, Protalk\PageBundle\Entity\Page, null] fos_user: db_driver: orm diff --git a/src/Protalk/AdminBundle/Admin/PageAdmin.php b/src/Protalk/AdminBundle/Admin/PageAdmin.php new file mode 100644 index 0000000..1a9f63c --- /dev/null +++ b/src/Protalk/AdminBundle/Admin/PageAdmin.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Protalk\AdminBundle\Admin; + +use Sonata\AdminBundle\Admin\Admin; +use Sonata\AdminBundle\Datagrid\ListMapper; +use Sonata\AdminBundle\Datagrid\DatagridMapper; +use Sonata\AdminBundle\Validator\ErrorElement; +use Sonata\AdminBundle\Form\FormMapper; + +class PageAdmin extends Admin +{ + protected function configureFormFields(FormMapper $formMapper) + { + $formMapper->add('url')->add('pageTitle')->add('title')->add('content'); + } + + protected function configureDatagridFilters(DatagridMapper $datagridMapper) + { + $datagridMapper->add('pageTitle'); + } + + protected function configureListFields(ListMapper $listMapper) + { + $listMapper->addIdentifier('title')->add('url'); + } + + public function validate(ErrorElement $errorElement, $object) + { + $errorElement + ->with('pageTitle') + ->assertMaxLength(array('limit' => 100)) + ->end() + ->with('url') + ->assertMaxLength(array('limit' => 100)) + ->end(); + } +} From f07fceb9583cdf63fbdf20c7743357638f052cb5 Mon Sep 17 00:00:00 2001 From: Steffan Harries Date: Sun, 14 Oct 2012 16:29:33 +0100 Subject: [PATCH 4/6] Fixed bug #62 - creating a tag throws a 500 error --- src/Protalk/AdminBundle/Admin/TagAdmin.php | 13 ++++++++----- src/Protalk/MediaBundle/Entity/Tag.php | 16 ++++++++++++---- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/Protalk/AdminBundle/Admin/TagAdmin.php b/src/Protalk/AdminBundle/Admin/TagAdmin.php index 5c51b62..86e0a1b 100755 --- a/src/Protalk/AdminBundle/Admin/TagAdmin.php +++ b/src/Protalk/AdminBundle/Admin/TagAdmin.php @@ -21,21 +21,24 @@ class TagAdmin extends Admin { protected function configureFormFields(FormMapper $formMapper) { - $formMapper->add('name'); + $formMapper->add('name')->add('slug'); } protected function configureDatagridFilters(DatagridMapper $datagridMapper) { - $datagridMapper->add('name'); + $datagridMapper->add('name')->add('slug'); } protected function configureListFields(ListMapper $listMapper) { - $listMapper->addIdentifier('name'); + $listMapper->addIdentifier('name')->add('slug'); } public function validate(ErrorElement $errorElement, $object) { - $errorElement->with('name')->assertMaxLength(array('limit' => 50))->end(); + $errorElement + ->with('name') + ->assertMaxLength(array('limit' => 50)) + ->end(); } -} \ No newline at end of file +} diff --git a/src/Protalk/MediaBundle/Entity/Tag.php b/src/Protalk/MediaBundle/Entity/Tag.php index bfabca4..821daf6 100755 --- a/src/Protalk/MediaBundle/Entity/Tag.php +++ b/src/Protalk/MediaBundle/Entity/Tag.php @@ -136,12 +136,21 @@ public function setSlug($slug) $this->slug = $slug; } + /* + * Maps to getSlugFields() + * + * Exists because the backend makes a call to getSlug() + * when creating/updating tags. + */ + public function getSlug() { + return $this->getSlugFields(); + } + /* * Get slug fields * * @return string */ - public function getSlugFields() { return $this->getName(); } @@ -151,11 +160,10 @@ public function getSlugFields() { */ public function updateSlug() { - - $slugger = new Slugger(); + $slugger = new Slugger(' ', ','); $slug = $slugger->getSlug($this->getSlugFields()); return $this->setSlug($slug); } -} \ No newline at end of file +} From d8d36aca3d65a67a2f073037d3fb13077d1182d4 Mon Sep 17 00:00:00 2001 From: Michelle Date: Wed, 17 Oct 2012 11:57:13 +0200 Subject: [PATCH 5/6] New github icon --- app/Resources/views/base.html.twig | 6 +----- web/images/githubIcon.png | Bin 1058 -> 3340 bytes 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig index d422be5..00e85f7 100755 --- a/app/Resources/views/base.html.twig +++ b/app/Resources/views/base.html.twig @@ -67,11 +67,6 @@
{% block moreContent %}{% endblock %}
- - -
@@ -80,6 +75,7 @@

FOLLOW US