frenzelgmbh/cm-communication

Common Communication Module for yii2

Installs: 352

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Type:yii2-extension

dev-master 2016-04-16 14:22 UTC

This package is not auto-updated.

Last update: 2024-04-20 07:19:35 UTC


README

Common Address Module (Frenzel GmbH 2014) v.0.1

Installation

Add the following line to your composer.json require section:

"frenzelgmbh/cmcommunication":"*"
php yii migrate --migrationPath=@vendor/frenzelgmbh/cm-communication/migrations

Inside your yii-config, pls. add the following lines to your modules section. As you might see, the gridview needs to be implemented too.

'communication'=>[
  'class' => 'frenzelgmbh\cmcommunication\Module',
],
'gridview' =>  [
  'class' => '\kartik\grid\Module'
],

After this, you should be able to see the set of build in widgets and options under:

http://yourhost/index.php?r=communication/default/test

Design

The Address module is use to store address/location informations, that can be linked to any other "module". So in general all modules are referenced by:

  • mod_table (which should hold the table name VARCHAR(100))
  • mod_id (which should hold the primarey key of the referenced record INTEGER(11))

Datastructure

This module allows you to store communication data related to any other "record" and "module" you pass by as parameters. It allows you to save 1:n communication records, while one record of communication can be filled with the following fields:

  • Communication Type (INTEGER) References communication_type table
  • Phone
  • Mobile
  • Fax
  • EMail Pls. notice, that records aren't deleted in all of our models, they just get marked as deleted!

Widgets

The "create"-Button: Will render a button, that will open an modal and lets you add a new communication to the referenced module with the id. E.g. you have a entity "contact" and you want to create a new communication to this entity.

if(class_exists('\frenzelgmbh\cmcommunication\widgets\CreateCommunicationModal')){
  echo \frenzelgmbh\cmcommunication\widgets\CreateCommunicationModal::widget(array(
    'module'      => 'tbl_test',
    'id'          => 1
  )); 
}

The "update"-Button:

if(class_exists('\frenzelgmbh\cmcommunication\widgets\UpdateCommunicationModal')){
  echo \frenzelgmbh\cmcommunication\widgets\UpdateCommunicationModal::widget(array(
    'module'      => 'tbl_test',
    'id'          => 1
  )); 
}

The "related"-Grid:

if(class_exists('\frenzelgmbh\cmcommunication\widgets\RelatedCommunicationGrid')){
  echo \frenzelgmbh\cmcommunication\widgets\RelatedCommunicationGrid::widget(array(
    'module'      => 'tbl_test',
    'id'          => 1
  )); 
}