'campaigns.browse', 'create' => 'campaigns.create', 'update' => 'campaigns.update', 'destroy' => 'campaigns.destroy' ]; protected $jsFiles = [ 'BAP_Campaigns.js', 'countSms.js', ]; protected $moduleSettingsLinks = [ ['route' => 'campaigns.status.index', 'label' => 'settings.status'], ['route' => 'campaigns.type.index', 'label' => 'settings.type'], ]; protected $settingsPermission = 'campaigns.settings'; protected $showFields = [ 'information' => [ 'name' => [ 'type' => 'text', ], 'owned_by' => [ 'type' => 'assigned_to', ], 'product' => [ 'type' => 'text', ], 'line' => [ 'type' => 'text', ], // 'target_audience' => [ // 'type' => 'text', // ], 'expected_close_date' => [ 'type' => 'date', ], // 'sponsor' => [ // 'type' => 'text', // ], // 'target_size' => [ // 'type' => 'text', // ], 'campaign_status_id' => [ 'type' => 'manyToOne', 'relation' => 'campaignStatus', 'column' => 'name' ], 'campaign_type_id' => [ 'type' => 'manyToOne', 'relation' => 'campaignType', 'column' => 'name' ], 'check_users_availability' => [ 'type' => 'checkbox', ], ], 'other_options' => [ 'campaign_priority' => [ 'type' => 'text', ], // 'budget_cost' => [ // 'type' => 'text', // ], // 'actual_budget' => [ // 'type' => 'text', // ], // 'expected_response' => [ // 'type' => 'text', // ], // 'expected_revenue' => [ // 'type' => 'text', // ], 'expected_sales_count' => [ 'type' => 'text', ], // 'actual_sales_count' => [ // 'type' => 'text', // ], 'expected_response_count' => [ 'type' => 'text', ], // 'actual_response_count' => [ // 'type' => 'text', // ], // 'expected_roi' => [ // 'type' => 'text', // ], // 'actual_roi' => [ // 'type' => 'text', // ], ], 'notes' => [ 'notes' => [ 'type' => 'text', 'col-class' => 'col-lg-12 col-md-12 col-sm-12' ], ], ]; function relationTabs(){ return [ 'leads' => [ 'icon' => 'search', 'permissions' => [ 'browse' => 'leads.browse', 'update' => 'leads.update', 'create' => 'leads.create' ], 'datatable' => [ 'datatable' => CampaignsLeadDatatable::class ], 'route' => [ 'linked' => 'campaigns.leads.linked', 'create' => 'leads.leads.create', 'select' => 'campaigns.leads.selection', 'bind_selected' => 'campaigns.leads.link' ], 'create' => [ 'allow' => true, 'modal_title' => 'leads::leads.create_new', 'post_create_bind' => [ 'relationType' => 'manyToMany', 'relatedField' => 'campaigns', ] ], 'select' => [ 'allow' => true, 'modal_title' => 'leads::leads.module' ], ], 'contacts' => [ 'icon' => 'contacts', 'permissions' => [ 'browse' => 'contacts.browse', 'update' => 'contacts.update', 'create' => 'contacts.create' ], 'datatable' => [ 'datatable' => CampaignsContactsDatatable::class ], 'route' => [ 'linked' => 'campaigns.contacts.linked', 'create' => 'contacts.contacts.create', 'select' => 'campaigns.contacts.selection', 'bind_selected' => 'campaigns.contacts.link' ], 'create' => [ 'allow' => true, 'modal_title' => 'contacts::contacts.create_new', 'post_create_bind' => [ 'relationType' => 'manyToMany', 'relatedField' => 'campaigns', ] ], 'select' => [ 'allow' => true, 'modal_title' => 'contacts::contacts.module' ], ], 'accounts' => [ 'icon' => 'business', 'permissions' => [ 'browse' => 'accounts.browse', 'update' => 'accounts.update', 'create' => 'accounts.create' ], 'datatable' => [ 'datatable' => CampaignsAccountsDatatable::class ], 'route' => [ 'linked' => 'campaigns.accounts.linked', 'create' => 'accounts.accounts.create', 'select' => 'campaigns.accounts.selection', 'bind_selected' => 'campaigns.accounts.link' ], 'create' => [ 'allow' => true, 'modal_title' => 'accounts::accounts.create_new', 'post_create_bind' => [ 'relationType' => 'manyToMany', 'relatedField' => 'campaigns', ] ], 'select' => [ 'allow' => true, 'modal_title' => 'accounts::accounts.module' ], ], 'campaign_sent_emails' => [ 'icon' => 'mail', 'permissions' => [ 'browse' => 'campaigns.browse', 'update' => 'campaigns.update', 'create' => 'campaigns.create' ], 'datatable' => [ 'datatable' => EmailCampaignDatatable::class ], 'route' => [ 'linked' => 'campaigns.emailcampaign.linked', 'create' => 'campaigns.emailcampaign.create', 'select' => 'campaigns.emailcampaign.selection', 'bind_selected' => 'campaigns.emailcampaign.link' ], 'create' => [ 'allow' => true, 'modal_title' => 'campaigns::campaigns.create_compose_campaign_email', 'label' => 'campaigns::campaigns.compose_campaign_email', 'post_create_bind' => [ 'relationType' => 'oneToMany', 'relatedField' => 'campaign_id', ], ], 'select' => [ 'allow' => false, 'modal_title' => 'campaigns::campaigns.email_campaign' ], ], 'campaign_sms_report' => [ 'icon' => 'sms', 'permissions' => [ 'browse' => 'campaigns.browse', 'update' => 'campaigns.update', 'create' => 'campaigns.create' ], 'datatable' => [ 'datatable' => CampaignsSmsDatatable::class ], 'route' => [ 'linked' => 'campaigns.smscampaign.linked', // 'create' => 'campaigns.smscampaign.create', 'select' => 'campaigns.smscampaign.selection', // 'bind_selected' => 'campaigns.emailcampaign.link' ], 'create' => [ 'allow' => false, 'modal_title' => 'campaigns::campaigns.create_compose_campaign_email', 'label' => 'campaigns::campaigns.compose_campaign_email', 'post_create_bind' => [ 'relationType' => 'oneToMany', 'relatedField' => 'campaign_id', ], ], 'select' => [ 'allow' => false, 'modal_title' => 'campaigns::campaigns.email_campaign' ], ], 'campaign_sms_msg' => [], 'call' => [ 'icon' => 'phone', 'permissions' => [ 'browse' => 'calls.browse', 'update' => 'calls.update', 'create' => 'calls.create' ], 'datatable' => [ 'datatable' => DialerReportDatatable::class ], 'route' => [ 'linked' => 'campaigns.calls.linked', // 'create' => 'calls.calls.create', 'select' => 'campaigns.calls.selection', // 'bind_selected' => 'campaigns.calls.link' ], 'create' => [ 'allow' => false, 'modal_title' => 'deals::deals.create_new', 'post_create_bind' => [ 'relationType' => 'manyToMany', 'relatedField' => 'campaigns', ] ], 'select' => [ 'allow' => false, 'modal_title' => 'deals::deals.module' ], ], 'dialer' => [ 'icon' => 'storage', 'permissions' => [ 'browse' => 'campaigns.browse', ], 'datatable' => [ 'datatable' => DialerReport2Datatable::class ], 'route' => [ 'linked' => 'campaigns.camplead.linked', // 'create' => 'calls.calls.create', 'select' => 'campaigns.camplead.selection', // 'bind_selected' => 'campaigns.calls.link' ], 'create' => [ 'allow' => false, 'modal_title' => 'deals::deals.create_new', 'post_create_bind' => [ 'relationType' => 'manyToMany', 'relatedField' => 'campaigns', ] ], 'select' => [ 'allow' => false, 'modal_title' => 'deals::deals.module' ], ], 'survey' => [ 'icon' => 'poll', 'permissions' => [ 'browse' => 'campaigns.browse', ], 'datatable' => [ 'datatable' => CampaignsSurveyDatatable::class ], 'route' => [ 'linked' => 'campaigns.surveys.linked', 'select' => 'campaigns.surveys.selection', ], 'create' => [ 'allow' => false, 'post_create_bind' => [ 'relationType' => 'oneToMany', 'relatedField' => 'campaign_id', ], ], 'select' => [ 'allow' => false, ], ], 'deals' => [ 'icon' => 'monetization_on', 'permissions' => [ 'browse' => 'deals.browse', 'update' => 'deals.update', 'create' => 'deals.create' ], 'datatable' => [ 'datatable' => CampaignsDealsDatatable::class ], 'route' => [ 'linked' => 'campaigns.deals.linked', 'create' => 'deals.deals.create', 'select' => 'campaigns.deals.selection', 'bind_selected' => 'campaigns.deals.link' ], 'create' => [ 'allow' => true, 'modal_title' => 'deals::deals.create_new', 'post_create_bind' => [ 'relationType' => 'manyToMany', 'relatedField' => 'campaigns', ] ], 'select' => [ 'allow' => false, 'modal_title' => 'deals::deals.module' ], ], ]; } protected $languageFile = 'campaigns::campaigns'; protected $routes = [ 'index' => 'campaigns.campaigns.index', 'create' => 'campaigns.campaigns.create', 'show' => 'campaigns.campaigns.show', 'edit' => 'campaigns.campaigns.edit', 'store' => 'campaigns.campaigns.store', 'destroy' => 'campaigns.campaigns.destroy', 'update' => 'campaigns.campaigns.update' ]; public function __construct() { $this->relationTabs = $this->relationTabs(); parent::__construct(); } }