FEATURE #1552 @1h: save sent messages into database

This commit is contained in:
Michal Kváček
2017-09-14 20:18:32 +02:00
parent 6b0509a1db
commit b1b31afa3b
15 changed files with 266 additions and 36 deletions
+12 -14
View File
@@ -1,13 +1,14 @@
<?php
namespace Modules\ContactForm\Handlers;
use App\CMS\Contracts\Content\AdvancedContentModifier;
use App\CMS\Contracts\Content\ContentTitles;
use App\CMS\Enumerations\ModulesHandlerToId;
use App\CMS\Handlers\AdminHandler;
use App\Http\Requests\Request;
use App\Models\Content\Content;
use App\Models\User;
use Modules\ContactForm\Entities\SentEmail;
class ContactForm extends AdminHandler implements ContentTitles, AdvancedContentModifier
{
@@ -27,7 +28,6 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
/**
* Getter for section names in creating/editing content resource
*
* @return mixed
*/
public static function getExtendedFormSections()
@@ -40,9 +40,7 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
/**
* Getter for views used in extended part of form for creating new content
*
* This method should return pairs <section, view-name>. View is returned only as name in plain text
*
* @return array of views/templates/html codes divided into section
*/
public static function getExtendedFormInputsCreate()
@@ -64,7 +62,6 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
/**
* Register admin menu (or multiple ones)
*
* This cannot be in ServiceProvider because Session is started at middleware. And ServiceProvider is called before
* starting any middleware..
*
@@ -77,15 +74,21 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
$submenu = $menu->whereTitle(trans('admin/mainMenu.contentPages'));
$submenu->dropdown(trans('contactform::admin/adminMenu.contactForm'), function ($submenu) use ($user) {
$submenu->route('content.new', trans('contactform::admin/adminMenu.new'), ['moduleId' => self::getModuleId()], 10, ['icon' => 'fa fa-plus']);
$submenu->route('content.overview', trans('contactform::admin/adminMenu.overview'), ['moduleId' => self::getModuleId()], 20, ['icon' => 'fa fa-list']);
// $submenu->route('emails.sent', trans('contactform::admin/adminMenu.sentMessages'), [], 30, ['icon' => 'fa fa-send']);
$submenu->route('content.new', trans('contactform::admin/adminMenu.new'), ['module' => config('contactform.alias')], 10, ['icon' => 'fa fa-plus']);
$submenu->route('content.overview', trans('contactform::admin/adminMenu.overview'), ['module' => config('contactform.alias')], 20, ['icon' => 'fa fa-list']);
}, 25, ['icon' => 'fa fa-envelope-o']);
$new = SentEmail::where('is_new', true)->count();
$suffix = ($new == 0) ? '' : ' ('.$new.')';
$menu->route('sentEmails.index', trans('contactform::admin/adminMenu.sentMessages'). $suffix , [], 50, ['icon' => 'fa fa-send']);
}
/**
* Does given module manage content? Or is it just module with widgets/something internal/something absolutely else?
*
* @return bool
*/
public static function managesContent()
@@ -95,9 +98,7 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
/**
* Get translated title for pages overview of given type.
*
* This value is used for rendering list of all content pages of given type in administration.
*
* @return string
*/
public static function getOverviewTitle()
@@ -107,7 +108,6 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
/**
* Title displayed above for for creating new content page
*
* @return string
*/
public static function getCreateNewTitle()
@@ -129,7 +129,6 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
/**
* Does this module support categories?
*
* @return boolean
*/
public static function supportCategories()
@@ -139,7 +138,6 @@ class ContactForm extends AdminHandler implements ContentTitles, AdvancedContent
/**
* Method called right after content page is marked as deleted
*
* This method is supposed to clean after "deleted" page.
*
* @param Content $content