From acd85a1cad2f3ab85ba9855644072b803a223f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Fri, 1 Apr 2016 20:48:44 +0200 Subject: [PATCH] FEATURE: add editation to contact form --- modules/ContactForm/Handlers/ContactForm.php | 23 +++++++++++++++++-- .../Handlers/ContactFormHistory.php | 22 ++++++++++++++---- .../Resources/lang/en/admin/history.php | 10 ++++++++ 3 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 modules/ContactForm/Resources/lang/en/admin/history.php diff --git a/modules/ContactForm/Handlers/ContactForm.php b/modules/ContactForm/Handlers/ContactForm.php index a6df90f4..d5273ad3 100644 --- a/modules/ContactForm/Handlers/ContactForm.php +++ b/modules/ContactForm/Handlers/ContactForm.php @@ -3,6 +3,7 @@ namespace Modules\ContactForm\Handlers; use App\Enumerations\ModulesHandlerToId; use App\Handlers\Handler; +use App\Http\Controllers\Admin\EditContent; use App\Http\Controllers\Controller; use App\Http\Requests\Request; use App\Models\Content; @@ -41,7 +42,6 @@ class ContactForm extends Handler */ public static function createNew(Content &$content, Request $request) { - $settings = [ 'phone' => $request->phone, 'email' => $request->email, @@ -69,7 +69,21 @@ class ContactForm extends Handler */ public static function edit(Content &$content, Request $request, $revisionID) { - // TODO: Implement edit() method. + $fields = [ + 'phone' => 'phone', + 'email' => 'email', + 'companyName' => 'companyName', + 'address' => 'address', + 'gpsLat' => 'gpsLat', + 'gpsLng' => 'gpsLng', + ]; + + // get data and try to save them + $data = EditContent::getFields($request, $fields); + list($revision, $changedColumns) = $content->updateWithHistory($fields, $data, $revisionID); + + // return amount of changed columns + return $changedColumns; } public static function getModuleId() @@ -112,6 +126,11 @@ class ContactForm extends Handler ]; } + public static function getExtendedFormInputsEdit() + { + return self::getExtendedFormInputsCreate(); + } + /** * Register admin menu (or multiple ones) * diff --git a/modules/ContactForm/Handlers/ContactFormHistory.php b/modules/ContactForm/Handlers/ContactFormHistory.php index e5a33a37..0bbe9b42 100644 --- a/modules/ContactForm/Handlers/ContactFormHistory.php +++ b/modules/ContactForm/Handlers/ContactFormHistory.php @@ -5,12 +5,24 @@ use App\Handlers\History; class ContactFormHistory extends History { - public static function parseChangedValue($changeset) + /** + * Translate column name for history view + * + * @param $column + * + * @return mixed + */ + public static function parseColumnName($column) { - switch ($changeset->column) { - default: - return parent::parseChangedValue($changeset); - break; + // try to translate as contact form field + $translationString = 'contactform::admin/history.column' . ucfirst($column); + $translation = trans($translationString); + + // when translation is not available, try to fallback into core fields + if ($translation == $translationString) { + return parent::parseColumnName($column); } + + return $translation; } } \ No newline at end of file diff --git a/modules/ContactForm/Resources/lang/en/admin/history.php b/modules/ContactForm/Resources/lang/en/admin/history.php new file mode 100644 index 00000000..59a94453 --- /dev/null +++ b/modules/ContactForm/Resources/lang/en/admin/history.php @@ -0,0 +1,10 @@ + 'Phone', + 'columnAddress' => 'Address', + 'columnEmail' => 'E-mail', + 'columnCompanyName' => 'Company name', + 'columnGpsLat' => 'GPS Latitude', + 'columnGpsLng' => 'Gps Longitude', +]; +