Forráskód Böngészése

Merge pull request #1866 from marekkalnik/benoitpointet-item_name_in_flashes

Benoitpointet item name in flashes
Thomas 11 éve
szülő
commit
55e2676e31

+ 14 - 6
Controller/CRUDController.php

@@ -242,7 +242,11 @@ class CRUDController extends Controller
                     return $this->renderJson(array('result' => 'ok'));
                 }
 
-                $this->addFlash('sonata_flash_success', 'flash_delete_success');
+                $this->addFlash(
+                    'sonata_flash_success',
+                    $this->admin->trans('flash_delete_success', array('%name%' => $this->admin->toString($object)),
+                    'SonataAdminBundle')
+                );
 
             } catch (ModelManagerException $e) {
 
@@ -250,7 +254,11 @@ class CRUDController extends Controller
                     return $this->renderJson(array('result' => 'error'));
                 }
 
-                $this->addFlash('sonata_flash_error', 'flash_delete_error');
+                $this->addFlash(
+                    'sonata_flash_error',
+                    $this->admin->trans('flash_delete_error', array('%name%' => $this->admin->toString($object)),
+                    'SonataAdminBundle')
+                );
             }
 
             return new RedirectResponse($this->admin->generateUrl('list'));
@@ -280,7 +288,6 @@ class CRUDController extends Controller
         $templateKey = 'edit';
 
         $id = $this->get('request')->get($this->admin->getIdParameter());
-
         $object = $this->admin->getObject($id);
 
         if (!$object) {
@@ -313,7 +320,7 @@ class CRUDController extends Controller
                     ));
                 }
 
-                $this->addFlash('sonata_flash_success', 'flash_edit_success');
+                $this->addFlash('sonata_flash_success', $this->admin->trans('flash_edit_success', array('%name%' => $this->admin->toString($object)), 'SonataAdminBundle'));
 
                 // redirect to edit mode
                 return $this->redirectTo($object);
@@ -322,7 +329,7 @@ class CRUDController extends Controller
             // show an error message if the form failed validation
             if (!$isFormValid) {
                 if (!$this->isXmlHttpRequest()) {
-                    $this->addFlash('sonata_flash_error', 'flash_edit_error');
+                    $this->addFlash('sonata_flash_error', $this->admin->trans('flash_edit_error', array('%name%' => $this->admin->toString($object)), 'SonataAdminBundle'));
                 }
             } elseif ($this->isPreviewRequested()) {
                 // enable the preview template if the form was valid and preview was requested
@@ -513,7 +520,8 @@ class CRUDController extends Controller
                     ));
                 }
 
-                $this->addFlash('sonata_flash_success','flash_create_success');
+                $this->addFlash('sonata_flash_success', $this->admin->trans('flash_create_success', array('%name%' => $this->admin->toString($object)), 'SonataAdminBundle'));
+
                 // redirect to edit mode
                 return $this->redirectTo($object);
             }

+ 12 - 12
Resources/translations/SonataAdminBundle.de.xliff

@@ -139,20 +139,20 @@
                 <target>Aktion abgebrochen. Es waren keine Elemente ausgewählt.</target>
             </trans-unit>
             <trans-unit id="flash_create_success">
-                <source>flash_create_success</source>
-                <target>Element wurde erfolgreich hinzugefügt.</target>
+             <source>flash_create_success</source>
+              <target>Das Element "%name%" wurde erfolgreich hinzugefügt.</target>
             </trans-unit>
             <trans-unit id="flash_create_error">
-                <source>flash_create_error</source>
-                <target>Beim Hinzufügen des Elements ist ein Fehler aufgetreten.</target>
+              <source>flash_create_error</source>
+              <target>Beim Hinzufügen des Elements "%name%" ist ein Fehler aufgetreten.</target>
             </trans-unit>
             <trans-unit id="flash_edit_success">
-                <source>flash_edit_success</source>
-                <target>Element wurde erfolgreich bearbeitet.</target>
+              <source>flash_edit_success</source>
+              <target>Das Element "%name%" wurde erfolgreich bearbeitet.</target>
             </trans-unit>
             <trans-unit id="flash_edit_error">
-                <source>flash_edit_error</source>
-                <target>Beim Bearbeiten des Elements ist ein Fehler aufgetreten.</target>
+              <source>flash_edit_error</source>
+              <target>Beim Bearbeiten des Elements "%name%" ist ein Fehler aufgetreten.</target>
             </trans-unit>
             <trans-unit id="flash_batch_delete_success">
                 <source>flash_batch_delete_success</source>
@@ -163,12 +163,12 @@
                 <target>Beim Löschen der ausgewählten Elemente ist ein Fehler aufgetreten.</target>
             </trans-unit>
             <trans-unit id="flash_delete_error">
-                <source>flash_delete_error</source>
-                <target>Beim Löschen des Elements ist ein Fehler aufgetreten.</target>
+             <source>flash_delete_error</source>
+              <target>Beim Löschen des Elements "%name%" ist ein Fehler aufgetreten.</target>
             </trans-unit>
             <trans-unit id="flash_delete_success">
-                <source>flash_delete_success</source>
-                <target>Element wurde erfolgreich gelöscht.</target>
+              <source>flash_delete_success</source>
+              <target>Das Element "%name%" wurde erfolgreich gelöscht.</target>
             </trans-unit>
             <trans-unit id="link_breadcrumb_dashboard">
                 <source>breadcrumb.link_dashboard</source>

+ 11 - 11
Resources/translations/SonataAdminBundle.en.xliff

@@ -139,20 +139,20 @@
                 <target>Action aborted. No items were selected.</target>
             </trans-unit>
             <trans-unit id='flash_create_success'>
-                <source>flash_create_success</source>
-                <target>Item has been successfully created.</target>
+             <source>flash_create_success</source>
+              <target>Item "%name%" has been successfully created.</target>
             </trans-unit>
             <trans-unit id='flash_create_error'>
-                <source>flash_create_error</source>
-                <target>An error has occurred during item creation.</target>
+              <source>flash_create_error</source>
+              <target>An error has occurred during the creation of item "%name%".</target>
             </trans-unit>
             <trans-unit id='flash_edit_success'>
-                <source>flash_edit_success</source>
-                <target>Item has been successfully updated.</target>
+              <source>flash_edit_success</source>
+              <target>Item "%name%" has been successfully updated.</target>
             </trans-unit>
             <trans-unit id='flash_edit_error'>
-                <source>flash_edit_error</source>
-                <target>An error has occurred during item update.</target>
+              <source>flash_edit_error</source>
+              <target>An error has occurred during update of item "%name%".</target>
             </trans-unit>
             <trans-unit id='flash_batch_delete_success'>
                 <source>flash_batch_delete_success</source>
@@ -164,11 +164,11 @@
             </trans-unit>
             <trans-unit id='flash_delete_error'>
                 <source>flash_delete_error</source>
-                <target>An Error has occurred during item deletion.</target>
+                <target>An Error has occurred during deletion of item "%name%".</target>
             </trans-unit>
             <trans-unit id='flash_delete_success'>
-                <source>flash_delete_success</source>
-                <target>Item has been deleted successfully.</target>
+              <source>flash_delete_success</source>
+              <target>Item "%name%" has been deleted successfully.</target>
             </trans-unit>
             <trans-unit id="link_breadcrumb_dashboard">
                 <source>breadcrumb.link_dashboard</source>

+ 6 - 6
Resources/translations/SonataAdminBundle.fr.xliff

@@ -140,19 +140,19 @@
             </trans-unit>
             <trans-unit id='flash_create_success'>
                 <source>flash_create_success</source>
-                <target>L'élément a été créé avec succès.</target>
+                <target>L'élément "%name%" a été crée avec succès.</target>
             </trans-unit>
             <trans-unit id='flash_create_error'>
                 <source>flash_create_error</source>
-                <target>Une erreur est intervenue lors de la création de l'élément.</target>
+                <target>Une erreur est intervenue lors de la création de l'élément "%name%".</target>
             </trans-unit>
             <trans-unit id='flash_edit_success'>
                 <source>flash_edit_success</source>
-                <target>L'élément a été mis à jour avec succès.</target>
+                <target>L'élément "%name%" a été mis à jour avec succès.</target>
             </trans-unit>
             <trans-unit id='flash_edit_error'>
                 <source>flash_edit_error</source>
-                <target>Une erreur est intervenue lors de la mise à jour de l'élément.</target>
+                <target>Une erreur est intervenue lors de la mise à jour de l'élément "%name%".</target>
             </trans-unit>
             <trans-unit id='flash_batch_delete_success'>
                 <source>flash_batch_delete_success</source>
@@ -164,11 +164,11 @@
             </trans-unit>
             <trans-unit id='flash_delete_error'>
                 <source>flash_delete_error</source>
-                <target>Une erreur est intervenue lors de la suppression de l'élément.</target>
+                <target>Une erreur est intervenue lors de la suppression de l'élément "%name%".</target>
             </trans-unit>
             <trans-unit id='flash_delete_success'>
                 <source>flash_delete_success</source>
-                <target>Les éléments ont été supprimés avec succès.</target>
+                <target>L'élément "%name%" a été supprimé avec succès.</target>
             </trans-unit>
             <trans-unit id="link_breadcrumb_dashboard">
                 <source>breadcrumb.link_dashboard</source>

+ 35 - 2
Tests/Controller/CRUDControllerTest.php

@@ -783,6 +783,13 @@ class CRUDControllerTest extends \PHPUnit_Framework_TestCase
             ->method('getObject')
             ->will($this->returnValue($object));
 
+        $this->admin->expects($this->once())
+            ->method('toString')
+            ->with($this->equalTo($object))
+            ->will($this->returnValue('test'));
+
+        $this->expectTranslate('flash_delete_success', array('%name%' => 'test'));
+
         $this->admin->expects($this->once())
             ->method('isGranted')
             ->with($this->equalTo('DELETE'))
@@ -810,6 +817,8 @@ class CRUDControllerTest extends \PHPUnit_Framework_TestCase
             ->with($this->equalTo('DELETE'))
             ->will($this->returnValue(true));
 
+        $this->expectTranslate('flash_delete_success');
+
         $this->request->setMethod('POST');
         $this->request->request->set('_method', 'DELETE');
 
@@ -863,11 +872,13 @@ class CRUDControllerTest extends \PHPUnit_Framework_TestCase
             ->with($this->equalTo('DELETE'))
             ->will($this->returnValue(true));
 
+        $this->expectTranslate('flash_delete_error');
+
         $this->admin->expects($this->once())
             ->method('delete')
             ->will($this->returnCallback(function() {
-                    throw new ModelManagerException();
-                }));
+                throw new ModelManagerException();
+            }));
 
         $this->request->setMethod('DELETE');
 
@@ -970,6 +981,8 @@ class CRUDControllerTest extends \PHPUnit_Framework_TestCase
             ->method('isValid')
             ->will($this->returnValue(true));
 
+        $this->expectTranslate('flash_edit_success');
+
         $this->request->setMethod('POST');
 
         $response = $this->controller->editAction();
@@ -1004,6 +1017,8 @@ class CRUDControllerTest extends \PHPUnit_Framework_TestCase
             ->method('isValid')
             ->will($this->returnValue(false));
 
+        $this->expectTranslate('flash_edit_error');
+
         $this->request->setMethod('POST');
 
         $formView = $this->getMock('Symfony\Component\Form\FormView');
@@ -1244,6 +1259,8 @@ class CRUDControllerTest extends \PHPUnit_Framework_TestCase
             ->method('isValid')
             ->will($this->returnValue(true));
 
+        $this->expectTranslate('flash_create_success');
+
         $this->request->setMethod('POST');
 
         $response = $this->controller->createAction();
@@ -2323,4 +2340,20 @@ class CRUDControllerTest extends \PHPUnit_Framework_TestCase
         $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $result);
         $this->assertEquals('batchActionBar executed', $result->getContent());
     }
+
+    private function expectTranslate()
+    {
+        $args = func_get_args();
+
+        // creates equalTo of all arguments passed to this function
+        $phpunit = $this; // PHP 5.3 compatiblity
+        $argsCheck = array_map(function($item) use ($phpunit) {
+            return $phpunit->equalTo($item);
+        }, func_get_args());
+
+        $mock = $this->admin->expects($this->once())->method('trans');
+        // passes all arguments to the 'with' of the $admin->trans method
+        $mock = call_user_func_array(array($mock, 'with'), $argsCheck);
+        $mock->will($this->returnValue($args[0]));
+    }
 }