OrderTickets - Version 1.0.0

Version Notes

First release of OrderTickets module

Download this release

Release Info

Developer Magento Core Team
Extension OrderTickets
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

Files changed (43) hide show
  1. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat.php +29 -0
  2. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/Grid.php +118 -0
  3. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View.php +42 -0
  4. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Form.php +26 -0
  5. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Tab/Main.php +84 -0
  6. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Tab/Tickets.php +43 -0
  7. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Tabs.php +44 -0
  8. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Customer/Edit/Tab/Tickets.php +127 -0
  9. app/code/community/Laurent/OrderTickets/Block/Adminhtml/Order/View/Tab/Tickets.php +85 -0
  10. app/code/community/Laurent/OrderTickets/Block/Chat.php +70 -0
  11. app/code/community/Laurent/OrderTickets/Block/Order/Tabs.php +66 -0
  12. app/code/community/Laurent/OrderTickets/Helper/Data.php +41 -0
  13. app/code/community/Laurent/OrderTickets/Model/Abstract.php +34 -0
  14. app/code/community/Laurent/OrderTickets/Model/Chat.php +77 -0
  15. app/code/community/Laurent/OrderTickets/Model/Config/Cron.php +44 -0
  16. app/code/community/Laurent/OrderTickets/Model/Mysql4/Chat.php +24 -0
  17. app/code/community/Laurent/OrderTickets/Model/Mysql4/Chat/Collection.php +38 -0
  18. app/code/community/Laurent/OrderTickets/Model/Mysql4/Ticket.php +23 -0
  19. app/code/community/Laurent/OrderTickets/Model/Mysql4/Ticket/Collection.php +22 -0
  20. app/code/community/Laurent/OrderTickets/Model/Observer.php +74 -0
  21. app/code/community/Laurent/OrderTickets/Model/Ticket.php +59 -0
  22. app/code/community/Laurent/OrderTickets/controllers/Adminhtml/ChatController.php +140 -0
  23. app/code/community/Laurent/OrderTickets/controllers/ChatController.php +126 -0
  24. app/code/community/Laurent/OrderTickets/doc/EVOLUTIONS.txt +21 -0
  25. app/code/community/Laurent/OrderTickets/doc/INSTALL.txt +17 -0
  26. app/code/community/Laurent/OrderTickets/doc/logo.png +0 -0
  27. app/code/community/Laurent/OrderTickets/doc/logo.svg +1756 -0
  28. app/code/community/Laurent/OrderTickets/doc/tables_scheme.graphml +97 -0
  29. app/code/community/Laurent/OrderTickets/doc/tables_scheme.jpg +0 -0
  30. app/code/community/Laurent/OrderTickets/etc/config.xml +142 -0
  31. app/code/community/Laurent/OrderTickets/etc/system.xml +37 -0
  32. app/code/community/Laurent/OrderTickets/sql/ordertickets_setup/mysql4-install-0.1.0.php +50 -0
  33. app/code/community/Laurent/OrderTickets/sql/ordertickets_setup/mysql4-upgrade-0.1.0-0.1.1.php +20 -0
  34. app/design/adminhtml/default/default/layout/ordertickets.xml +13 -0
  35. app/design/adminhtml/default/default/template/ordertickets/chat/view/tab/tickets.phtml +61 -0
  36. app/design/adminhtml/default/default/template/ordertickets/order/view/tab/tickets.phtml +38 -0
  37. app/design/frontend/default/default/layout/ordertickets.xml +28 -0
  38. app/design/frontend/default/default/template/ordertickets/chat.phtml +49 -0
  39. app/design/frontend/default/default/template/ordertickets/order/tabs.phtml +17 -0
  40. app/etc/modules/Laurent_OrderTickets.xml +12 -0
  41. app/locale/fr_FR/Laurent_OrderTickets.csv +40 -0
  42. package.xml +21 -0
  43. skin/frontend/default/default/css/ordertickets.css +45 -0
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Chat
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Chat extends Mage_Adminhtml_Block_Widget_Grid_Container {
16
+ /**
17
+ * Block constructor
18
+ */
19
+ public function __construct()
20
+ {
21
+ $this->_controller = 'adminhtml_chat';
22
+ $this->_headerText = $this->__('Order tickets');
23
+ $this->_blockGroup = 'ordertickets';
24
+ parent::__construct();
25
+ $this->_removeButton('add');
26
+ }
27
+ }
28
+
29
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/Grid.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Grid
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Chat_Grid extends Mage_Adminhtml_Block_Widget_Grid {
16
+
17
+ public function __construct()
18
+ {
19
+ parent::__construct();
20
+ $this->setSaveParametersInSession(true);
21
+ $this->setDefaultSort('id');
22
+ $this->setDefaultDir('desc');
23
+ }
24
+
25
+ protected function _prepareCollection()
26
+ {
27
+ $chatCollection = Mage::getResourceModel('ordertickets/chat_collection')
28
+ ->joinOrderTable();
29
+
30
+ $this->setCollection($chatCollection);
31
+ return parent::_prepareCollection();
32
+ }
33
+
34
+ protected function _prepareColumns()
35
+ {
36
+ $this->addColumn('id', array(
37
+ 'header' => $this->__('ID'),
38
+ 'align' =>'left',
39
+ 'filter_index' => 'main_table.id',
40
+ 'index' => 'id',
41
+ ));
42
+
43
+ $this->addColumn('customer_firstname', array(
44
+ 'header' => $this->__('Firstname'),
45
+ 'align' =>'left',
46
+ 'index' => 'customer_firstname',
47
+ ));
48
+
49
+ $this->addColumn('customer_lastname', array(
50
+ 'header' => $this->__('Lastname'),
51
+ 'align' =>'left',
52
+ 'index' => 'customer_lastname',
53
+ ));
54
+
55
+ $this->addColumn('customer_email', array(
56
+ 'header' => $this->__('Email'),
57
+ 'align' =>'left',
58
+ 'index' => 'customer_email',
59
+ ));
60
+
61
+ $this->addColumn('increment_id', array(
62
+ 'header' => $this->__('Order'),
63
+ 'align' =>'left',
64
+ 'filter_index' => 'order_table.increment_id',
65
+ 'index' => 'increment_id',
66
+ ));
67
+
68
+ $this->addColumn('created_at', array(
69
+ 'header' => $this->__('Message date'),
70
+ 'align' =>'left',
71
+ 'type' => 'datetime',
72
+ 'filter_index' => 'main_table.created_at',
73
+ 'index' => 'created_at',
74
+ ));
75
+
76
+ $this->addColumn('last_answer_date', array(
77
+ 'header' => $this->__('Last answer date'),
78
+ 'align' =>'left',
79
+ 'type' => 'datetime',
80
+ 'index' => 'last_answer_date',
81
+ ));
82
+
83
+ $this->addColumn('status', array(
84
+ 'header' => $this->__('Status'),
85
+ 'align' =>'left',
86
+ 'filter_index' => 'main_table.status',
87
+ 'index' => 'status',
88
+ 'type' => 'options',
89
+ 'options' => Mage::helper('ordertickets')->getChatStatuses(),
90
+ ));
91
+
92
+ $this->addColumn('action',
93
+ array(
94
+ 'header' => $this->__('Action'),
95
+ 'type' => 'action',
96
+ 'getter' => 'getId',
97
+ 'actions' => array(
98
+ array(
99
+ 'caption' => $this->__('Details'),
100
+ 'url' => array('base'=>'*/*/view'),
101
+ 'field' => 'chat_id'
102
+ )
103
+ ),
104
+ 'filter' => false,
105
+ 'sortable' => false,
106
+ 'is_system' => true,
107
+ ));
108
+
109
+ return parent::_prepareColumns();
110
+ }
111
+
112
+ public function getRowUrl($row)
113
+ {
114
+ return $this->getUrl('*/*/view', array('chat_id' => $row->getId()));
115
+ }
116
+ }
117
+
118
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of View
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Chat_View extends Mage_Adminhtml_Block_Widget_Form_Container{
16
+
17
+ public function __construct()
18
+ {
19
+ $this->_objectId = 'chat_id';
20
+ $this->_controller = 'adminhtml_chat';
21
+ $this->_blockGroup = 'ordertickets';
22
+ $this->_mode = 'view';
23
+ parent::__construct();
24
+ $this->_removeButton('delete');
25
+
26
+ }
27
+
28
+ public function getHeaderText(){
29
+ return $this->__('Tickets for order %s', $this->getChat()->getOrder()->getIncrementId());
30
+ }
31
+
32
+ /**
33
+ * Gives currently seen chat
34
+ * @return Laurent_OrderTickets_Model_Chat
35
+ */
36
+ public function getChat(){
37
+ return Mage::registry('ordertickets_chat');
38
+ }
39
+
40
+ }
41
+
42
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Form.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Form
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Chat_View_Form extends Mage_Adminhtml_Block_Widget_Form{
16
+
17
+ protected function _prepareForm()
18
+ {
19
+ $form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post'));
20
+ $form->setUseContainer(true);
21
+ $this->setForm($form);
22
+ return parent::_prepareForm();
23
+ }
24
+ }
25
+
26
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Tab/Main.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Main
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Chat_View_Tab_Main extends Mage_Adminhtml_Block_Widget_Form {
16
+
17
+ protected function _prepareForm()
18
+ {
19
+ $chat = Mage::registry('ordertickets_chat');
20
+
21
+ $form = new Varien_Data_Form();
22
+
23
+ $form->setHtmlIdPrefix('chat_');
24
+
25
+ $fieldset = $form->addFieldset('base_fieldset', array('legend'=>$this->__('General Information'),'class'=>'fieldset-wide'));
26
+
27
+ $fieldset->addField('id', 'hidden', array(
28
+ 'name' => 'id',
29
+ 'value' => $chat->getId(),
30
+ ));
31
+
32
+ $fieldset->addField('order_increment_id', 'label', array(
33
+ 'label' => $this->__('Order'),
34
+ 'name' => 'order_increment_id',
35
+ 'value' => $chat->getOrder()->getIncrementId(),
36
+ ));
37
+
38
+ $fieldset->addField('customer_firstname', 'label', array(
39
+ 'label' => $this->__('Customer firstname'),
40
+ 'name' => 'customer_firstname',
41
+ 'value' => $chat->getCustomerFirstname(),
42
+ ));
43
+
44
+ $fieldset->addField('customer_lastname', 'label', array(
45
+ 'label' => $this->__('Customer lastname'),
46
+ 'name' => 'customer_lastname',
47
+ 'value' => $chat->getCustomerLastname(),
48
+ ));
49
+
50
+ $fieldset->addField('customer_email', 'label', array(
51
+ 'label' => $this->__('Customer email'),
52
+ 'name' => 'customer_lastname',
53
+ 'value' => $chat->getCustomerEmail(),
54
+ ));
55
+
56
+ $fieldset->addField('created_at', 'label', array(
57
+ 'label' => $this->__('Created at'),
58
+ 'name' => 'created_at',
59
+ 'value' => Mage::helper('core')->formatDate($chat->getCreatedAt(), 'full', true),
60
+ ));
61
+
62
+ $fieldset->addField('last_answer_date', 'label', array(
63
+ 'label' => $this->__('Last answer date'),
64
+ 'name' => 'last_answer_date',
65
+ 'value' => Mage::helper('core')->formatDate($chat->getLastAnswerDate(), 'full', true),
66
+ ));
67
+
68
+ $fieldset->addField('status', 'select', array(
69
+ 'name' => 'status',
70
+ 'label' => $this->__('Status'),
71
+ 'title' => $this->__('Status'),
72
+ 'required' => true,
73
+ 'options' => Mage::helper('ordertickets')->getChatStatuses(),
74
+ 'value' => $chat->getStatus(),
75
+ ));
76
+
77
+ $this->setForm($form);
78
+
79
+ return parent::_prepareForm();
80
+ }
81
+
82
+ }
83
+
84
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Tab/Tickets.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Tickets
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Chat_View_Tab_Tickets extends Mage_Adminhtml_Block_Widget {
16
+
17
+ public function __construct() {
18
+ parent::__construct();
19
+ $this->setTemplate('ordertickets/chat/view/tab/tickets.phtml');
20
+ }
21
+
22
+ /**
23
+ * Give collection of tickets for currenty seen chat
24
+ * @return Mage_Adminhtml_Block_Widget
25
+ */
26
+ public function getTickets(){
27
+ return $this->getChat()->getTickets();
28
+ }
29
+
30
+ /**
31
+ * Give currently seen chat
32
+ * @return Laurent_OrderTickets_Model_Chat
33
+ */
34
+ public function getChat(){
35
+ return Mage::registry('ordertickets_chat');
36
+ }
37
+
38
+ public function getPostAnswerUrl(){
39
+ return Mage::getUrl('*/*/answerPost');
40
+ }
41
+ }
42
+
43
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Chat/View/Tabs.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Tabs
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Chat_View_Tabs extends Mage_Adminhtml_Block_Widget_Tabs{
16
+
17
+ public function __construct()
18
+ {
19
+ parent::__construct();
20
+ $this->setId('chat_tabs');
21
+ $this->setDestElementId('edit_form');
22
+ $this->setTitle($this->__('Chat Information'));
23
+ }
24
+
25
+ protected function _beforeToHtml()
26
+ {
27
+ $this->addTab('main_section', array(
28
+ 'label' => $this->__('Details'),
29
+ 'title' => $this->__('Details'),
30
+ 'content' => $this->getLayout()->createBlock('ordertickets/adminhtml_chat_view_tab_main')->toHtml(),
31
+ 'active' => true
32
+ ));
33
+
34
+ $this->addTab('tickets', array(
35
+ 'label' => $this->__('Tickets'),
36
+ 'title' => $this->__('Tickets'),
37
+ 'content' => $this->getLayout()->createBlock('ordertickets/adminhtml_chat_view_tab_tickets')->toHtml(),
38
+ ));
39
+
40
+ return parent::_beforeToHtml();
41
+ }
42
+ }
43
+
44
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Customer/Edit/Tab/Tickets.php ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Tickets
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Customer_Edit_Tab_Tickets
16
+ extends Mage_Adminhtml_Block_Widget_Grid
17
+ implements Mage_Adminhtml_Block_Widget_Tab_Interface
18
+ {
19
+
20
+ public function __construct()
21
+ {
22
+ parent::__construct();
23
+ $this->setId('customer_tickets_grid');
24
+ $this->setDefaultSort('id', 'desc');
25
+ $this->setUseAjax(true);
26
+ }
27
+
28
+ protected function _prepareCollection()
29
+ {
30
+ $orderIds = Mage::getResourceModel('sales/order_collection')
31
+ ->addAttributeToFilter('customer_id', Mage::registry('current_customer')->getEntityId())
32
+ ->getAllIds();
33
+
34
+ $collection = Mage::getResourceModel('ordertickets/chat_collection')
35
+ ->addFieldToFilter('order_id', array('in' => $orderIds))
36
+ ->joinOrderTable();
37
+ $this->setCollection($collection);
38
+ return parent::_prepareCollection();
39
+ }
40
+
41
+ protected function _prepareColumns()
42
+ {
43
+ $this->addColumn('id', array(
44
+ 'header' => $this->__('ID'),
45
+ 'align' =>'left',
46
+ 'filter_index' => 'main_table.id',
47
+ 'index' => 'id',
48
+ ));
49
+
50
+ $this->addColumn('increment_id', array(
51
+ 'header' => $this->__('Order'),
52
+ 'align' =>'left',
53
+ 'filter_index' => 'order_table.increment_id',
54
+ 'index' => 'increment_id',
55
+ ));
56
+
57
+ $this->addColumn('created_at', array(
58
+ 'header' => $this->__('Message date'),
59
+ 'align' =>'left',
60
+ 'type' => 'datetime',
61
+ 'filter_index' => 'main_table.created_at',
62
+ 'index' => 'created_at',
63
+ ));
64
+
65
+ $this->addColumn('last_answer_date', array(
66
+ 'header' => $this->__('Last answer date'),
67
+ 'align' =>'left',
68
+ 'type' => 'datetime',
69
+ 'index' => 'last_answer_date',
70
+ ));
71
+
72
+ $this->addColumn('status', array(
73
+ 'header' => $this->__('Status'),
74
+ 'align' =>'left',
75
+ 'index' => 'status',
76
+ 'type' => 'options',
77
+ 'options' => Mage::helper('ordertickets')->getChatStatuses(),
78
+ ));
79
+
80
+ $this->addColumn('action',
81
+ array(
82
+ 'header' => $this->__('Action'),
83
+ 'type' => 'action',
84
+ 'getter' => 'getId',
85
+ 'actions' => array(
86
+ array(
87
+ 'caption' => $this->__('Details'),
88
+ 'url' => array('base'=>'*/*/view'),
89
+ 'field' => 'chat_id'
90
+ )
91
+ ),
92
+ 'filter' => false,
93
+ 'sortable' => false,
94
+ 'is_system' => true,
95
+ ));
96
+
97
+ return parent::_prepareColumns();
98
+ }
99
+
100
+ public function getRowUrl($row)
101
+ {
102
+ return $this->getUrl('ordertickets/adminhtml_chat/view', array('chat_id' => $row->getId()));
103
+ }
104
+
105
+ public function getGridUrl()
106
+ {
107
+ return $this->getUrl('ordertickets/adminhtml_chat/customerchats', array('_current' => true));
108
+ }
109
+
110
+ public function getTabLabel(){
111
+ return $this->__('Tickets');
112
+ }
113
+
114
+ public function getTabTitle(){
115
+ return $this->__('Tickets');
116
+ }
117
+
118
+ public function canShowTab(){
119
+ return true;
120
+ }
121
+
122
+ public function isHidden(){
123
+ return false;
124
+ }
125
+ }
126
+
127
+ ?>
app/code/community/Laurent/OrderTickets/Block/Adminhtml/Order/View/Tab/Tickets.php ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Tickets
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Adminhtml_Order_View_Tab_Tickets
16
+ extends Mage_Adminhtml_Block_Template
17
+ implements Mage_Adminhtml_Block_Widget_Tab_Interface
18
+ {
19
+ protected $_chat = null;
20
+
21
+
22
+ protected function _construct()
23
+ {
24
+ parent::_construct();
25
+ $this->setTemplate('ordertickets/order/view/tab/tickets.phtml');
26
+ }
27
+
28
+ public function getTabLabel() {
29
+ return $this->__('Order tickets');
30
+ }
31
+
32
+ public function getTabTitle() {
33
+ return $this->__('Order tickets');
34
+ }
35
+
36
+ public function canShowTab() {
37
+ return true;
38
+ }
39
+
40
+ public function isHidden() {
41
+ return false;
42
+ }
43
+
44
+ public function getOrder(){
45
+ return Mage::registry('current_order');
46
+ }
47
+
48
+ /**
49
+ * Tells if there is an existing chat associated to order seen
50
+ * @return boolean
51
+ */
52
+ public function hasChat(){
53
+ return !is_null($this->getChat());
54
+ }
55
+
56
+ /**
57
+ * Get associated chat to an order if it exists
58
+ * @return null|Laurent_OrderTickets_Model_Chat
59
+ */
60
+ public function getChat(){
61
+ if(!$this->_chat){
62
+ $chat = Mage::helper('ordertickets')->loadChatFromOrderId($this->getOrder()->getId());
63
+
64
+ if($chat && $chat->getId()){
65
+ $this->_chat = $chat;
66
+ }
67
+ }
68
+
69
+ return $this->_chat;
70
+ }
71
+
72
+ /**
73
+ * Get url for viewing chat linked to the order
74
+ * @return string
75
+ */
76
+ public function getChatViewUrl(){
77
+ if(!$this->hasChat()){
78
+ return '';
79
+ }
80
+
81
+ return $this->getUrl('ordertickets/adminhtml_chat/view', array('chat_id' => $this->getChat()->getId()));
82
+ }
83
+ }
84
+
85
+ ?>
app/code/community/Laurent/OrderTickets/Block/Chat.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Chat
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Chat extends Mage_Core_Block_Template {
16
+
17
+ /**
18
+ * Retrieve current order model instance
19
+ *
20
+ * @return Mage_Sales_Model_Order
21
+ */
22
+ public function getOrder()
23
+ {
24
+ return Mage::registry('current_order');
25
+ }
26
+
27
+ public function getTickets(){
28
+ $tickets = array();
29
+ $chat = $this->getChat();
30
+
31
+ if($chat){
32
+ $tickets = Mage::getResourceModel('ordertickets/ticket_collection')
33
+ ->addFieldToFilter('chat_id', $chat->getId())
34
+ ->load();
35
+ }
36
+
37
+
38
+ return $tickets;
39
+ }
40
+
41
+ public function getChat(){
42
+ $order = $this->getOrder();
43
+ $chat = Mage::getModel('ordertickets/chat');
44
+
45
+ if($order){
46
+ $chat = Mage::helper('ordertickets')->loadChatFromOrderId($order->getId());
47
+ }
48
+
49
+ return $chat;
50
+ }
51
+
52
+ /**
53
+ * The url for order history
54
+ * @return string
55
+ */
56
+ public function getBackUrl(){
57
+ return Mage::getUrl('sales/order/history');
58
+ }
59
+
60
+ /**
61
+ * Form action url for sending a ticket
62
+ * @return string
63
+ */
64
+ public function getSendTicketPostUrl(){
65
+ return Mage::getUrl('*/*/ticketPost');
66
+ }
67
+
68
+ }
69
+
70
+ ?>
app/code/community/Laurent/OrderTickets/Block/Order/Tabs.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Tabs
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Block_Order_Tabs extends Mage_Core_Block_Template {
16
+
17
+ CONST ORDER_VIEW_LINK = 'sales/order/view';
18
+ CONST ORDER_CHAT_LINK = 'ordertickets/chat/view';
19
+
20
+ /**
21
+ * Retrieve current order model instance
22
+ *
23
+ * @return Mage_Sales_Model_Order
24
+ */
25
+ public function getOrder()
26
+ {
27
+ return Mage::registry('current_order');
28
+ }
29
+
30
+ /**
31
+ * Gives url link for viewing the current order
32
+ * @return string
33
+ */
34
+ public function getOrderViewLink(){
35
+ return Mage::getUrl(self::ORDER_VIEW_LINK, array('order_id' => $this->getOrder()->getId()));
36
+ }
37
+
38
+ /**
39
+ * Gives url link for viewing tickets chat of current order
40
+ * @return string
41
+ */
42
+ public function getOrderChatLink(){
43
+ return Mage::getUrl(self::ORDER_CHAT_LINK, array('order_id' => $this->getOrder()->getId()));
44
+ }
45
+
46
+ /**
47
+ * Check if we are currenty in sales/order/view page
48
+ * @return boolean
49
+ */
50
+ public function pageIsOrderView(){
51
+ $requestString = $this->getRequest()->getRequestString();
52
+ return (strstr($requestString, self::ORDER_VIEW_LINK) !== false);
53
+ }
54
+
55
+
56
+ /**
57
+ * Check if we are currenty in order chat view page
58
+ * @return boolean
59
+ */
60
+ public function pageIsOrderChat(){
61
+ $requestString = $this->getRequest()->getRequestString();
62
+ return (strstr($requestString, self::ORDER_CHAT_LINK) !== false);
63
+ }
64
+ }
65
+
66
+ ?>
app/code/community/Laurent/OrderTickets/Helper/Data.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Data
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Helper_Data extends Mage_Core_Helper_Abstract{
16
+
17
+ /**
18
+ * Gives chat linked to an order if it exists
19
+ * @param string $orderId
20
+ * @return Laurent_OrderTickets_Model_Chat
21
+ */
22
+ public function loadChatFromOrderId($orderId){
23
+ $chatCollection = Mage::getResourceModel('ordertickets/chat_collection')
24
+ ->addFieldToFilter('order_id', $orderId)
25
+ ->load();
26
+
27
+ $chat = $chatCollection->getFirstItem();
28
+
29
+ return $chat;
30
+ }
31
+
32
+ public function getChatStatuses(){
33
+ return array(
34
+ Laurent_OrderTickets_Model_Chat::STATUS_CLOSED => $this->__('Closed'),
35
+ Laurent_OrderTickets_Model_Chat::STATUS_OPEN => $this->__('Open'),
36
+ Laurent_OrderTickets_Model_Chat::STATUS_PENDING_ANSWER => $this->__('Pending answer')
37
+ );
38
+ }
39
+ }
40
+
41
+ ?>
app/code/community/Laurent/OrderTickets/Model/Abstract.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Abstarct
13
+ *
14
+ */
15
+ abstract class Laurent_OrderTickets_Model_Abstract extends Mage_Core_Model_Abstract {
16
+
17
+ /**
18
+ * Set created_at and updated_at vaues
19
+ * @return Laurent_OrderTickets_Model_Abstract
20
+ */
21
+ protected function _beforeSave() {
22
+ parent::_beforeSave();
23
+
24
+ if(!$this->getId()){
25
+ $this->setCreatedAt(now());
26
+ }
27
+
28
+ $this->setUpdatedAt(now());
29
+
30
+ return $this;
31
+ }
32
+ }
33
+
34
+ ?>
app/code/community/Laurent/OrderTickets/Model/Chat.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Chat
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Chat extends Laurent_OrderTickets_Model_Abstract {
16
+ CONST STATUS_OPEN = 'open';
17
+ CONST STATUS_PENDING_ANSWER = 'pending_answer';
18
+ CONST STATUS_CLOSED = 'closed';
19
+
20
+ protected $_order;
21
+ protected $_tickets;
22
+
23
+ /**
24
+ * Initialize resource model
25
+ */
26
+ protected function _construct()
27
+ {
28
+ $this->_init('ordertickets/chat');
29
+ }
30
+
31
+ /**
32
+ * Gives order linked to the chat
33
+ * @return Mage_Sales_Model_Order
34
+ */
35
+ public function getOrder(){
36
+ if(!$this->_order){
37
+ $this->_order = Mage::getModel('sales/order')->load($this->getOrderId());
38
+ }
39
+
40
+ return $this->_order;
41
+ }
42
+
43
+ /**
44
+ * Give collection of tickets for this chat
45
+ * @return Laurent_OrderTickets_Model_Mysql4_Ticket_Collection
46
+ */
47
+ public function getTickets(){
48
+ if(!$this->_tickets){
49
+ $ticketCollection = Mage::getResourceModel('ordertickets/ticket_collection')
50
+ ->addFieldToFilter('chat_id', $this->getId())
51
+ ->load();
52
+
53
+ $this->_tickets = $ticketCollection;
54
+ }
55
+
56
+ return $this->_tickets;
57
+ }
58
+
59
+
60
+ /**
61
+ * Give the status label if it exists
62
+ * Give status code otherwise
63
+ * @return string
64
+ */
65
+ public function getStatusLabel(){
66
+ $allStatuses = Mage::helper('ordertickets')->getChatStatuses();
67
+
68
+ if(array_key_exists($this->getStatus(), $allStatuses)){
69
+ return $allStatuses[$this->getStatus()];
70
+ }
71
+ else{
72
+ return $this->getStatus();
73
+ }
74
+ }
75
+ }
76
+
77
+ ?>
app/code/community/Laurent/OrderTickets/Model/Config/Cron.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Cron
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Config_Cron extends Mage_Core_Model_Config_Data
16
+ {
17
+
18
+ const CRON_STRING_PATH = 'crontab/jobs/send_mail_ordertickets/schedule/cron_expr';
19
+ const CRON_MODEL_PATH = 'crontab/jobs/send_mail_ordertickets/run/model';
20
+
21
+ protected function _afterSave()
22
+ {
23
+ //Fetch the cron expression from the backoffice config and save it to cron config
24
+ $cronExprString = $this->getData('groups/ordertickets/fields/cron_expr');
25
+
26
+ try {
27
+ Mage::getModel('core/config_data')
28
+ ->load(self::CRON_STRING_PATH, 'path')
29
+ ->setValue($cronExprString)
30
+ ->setPath(self::CRON_STRING_PATH)
31
+ ->save();
32
+ Mage::getModel('core/config_data')
33
+ ->load(self::CRON_MODEL_PATH, 'path')
34
+ ->setValue((string) Mage::getConfig()->getNode(self::CRON_MODEL_PATH))
35
+ ->setPath(self::CRON_MODEL_PATH)
36
+ ->save();
37
+
38
+ } catch (Exception $e) {
39
+ throw new Exception(Mage::helper('cron')->__('Unable to save Cron expression'));
40
+ }
41
+ }
42
+ }
43
+
44
+ ?>
app/code/community/Laurent/OrderTickets/Model/Mysql4/Chat.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Chat
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Mysql4_Chat extends Mage_Core_Model_Mysql4_Abstract{
16
+
17
+ protected function _construct()
18
+ {
19
+ $this->_init('ordertickets/chat', 'id');
20
+ }
21
+
22
+ }
23
+
24
+ ?>
app/code/community/Laurent/OrderTickets/Model/Mysql4/Chat/Collection.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Collection
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Mysql4_Chat_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
16
+
17
+ protected function _construct()
18
+ {
19
+ $this->_init('ordertickets/chat');
20
+ }
21
+
22
+ /**
23
+ * Join Order table
24
+ *
25
+ * @return Laurent_OrderTickets_Model_Mysql4_Chat_Collection
26
+ */
27
+ public function joinOrderTable()
28
+ {
29
+ $this->_select->joinLeft(
30
+ array('order_table' => $this->getTable('sales/order')),
31
+ 'main_table.order_id=order_table.entity_id',
32
+ array('entity_id', 'increment_id')
33
+ );
34
+ return $this;
35
+ }
36
+ }
37
+
38
+ ?>
app/code/community/Laurent/OrderTickets/Model/Mysql4/Ticket.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Ticket
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Mysql4_Ticket extends Mage_Core_Model_Mysql4_Abstract {
16
+ protected function _construct()
17
+ {
18
+ $this->_init('ordertickets/ticket', 'id');
19
+ }
20
+
21
+ }
22
+
23
+ ?>
app/code/community/Laurent/OrderTickets/Model/Mysql4/Ticket/Collection.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Collection
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Mysql4_Ticket_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
16
+ protected function _construct()
17
+ {
18
+ $this->_init('ordertickets/ticket');
19
+ }
20
+ }
21
+
22
+ ?>
app/code/community/Laurent/OrderTickets/Model/Observer.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Observer
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Observer {
16
+
17
+ /**
18
+ * Task that send by email all last request tickets
19
+ * Email recipients are defined in BO configuration
20
+ * return boolean telling if everything went fine
21
+ */
22
+ public function sendEmailLastRequests(){
23
+
24
+ try{
25
+ $tickets = Mage::getResourceModel('ordertickets/ticket_collection')
26
+ ->addFieldToFilter('type', Laurent_OrderTickets_Model_Ticket::TYPE_REQUEST)
27
+ ->addFieldToFilter('reported_by_cron', false)
28
+ ->load();
29
+
30
+ //Email send only if there is new request
31
+ if($tickets->count() > 0){
32
+ $email = new Zend_Mail('utf-8');
33
+ $email->setFrom(Mage::getStoreConfig('trans_email/ident_general/email'), Mage::getStoreConfig('trans_email/ident_general/name'));
34
+
35
+ $recipients = explode(',', Mage::getStoreConfig('sales/ordertickets/cron_recipients'));
36
+
37
+ foreach($recipients as $recipient){
38
+ $email->addTo($recipient);
39
+ }
40
+
41
+ $subject = 'Derniers messages envoyés par les clients';
42
+
43
+ $body = '';
44
+ foreach($tickets as $ticket){
45
+ $customerFullname = $ticket->getChat()->getCustomerFirstname() . ' '. $ticket->getChat()->getCustomerLastname() . ' <' . $ticket->getChat()->getCustomerEmail() . '>';
46
+ $body .= 'Message de '. $customerFullname .' envoyé le ' . Mage::helper('core')->formatDate($ticket->getCreatedAt(), 'full', ' ') ."\n";
47
+ $body .= 'Commande ' . $ticket->getChat()->getOrder()->getIncrementId() . "\n";
48
+ $body .= $ticket->getMessage() . "\n";
49
+ $body .= "\n";
50
+ $body .= "\n";
51
+ }
52
+
53
+ $email->setSubject($subject);
54
+ $email->setBodyText($body);
55
+ $email->send();
56
+
57
+ //Setting all tickets as send to the cron
58
+ foreach($tickets as $ticket){
59
+ $ticket->setReportedByCron(true);
60
+ $ticket->save();
61
+ }
62
+
63
+ }
64
+ }
65
+ catch(Exception $e){
66
+ Mage::log('Error while sending last request by email ' . $e->getMessage());
67
+ return false;
68
+ }
69
+ return true;
70
+ }
71
+
72
+ }
73
+
74
+ ?>
app/code/community/Laurent/OrderTickets/Model/Ticket.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of Ticket
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Model_Ticket extends Laurent_OrderTickets_Model_Abstract {
16
+ CONST TYPE_REQUEST = 'request';
17
+ CONST TYPE_ANSWER = 'answer';
18
+
19
+ protected $_chat;
20
+
21
+ /**
22
+ * Initialize resource model
23
+ */
24
+ protected function _construct()
25
+ {
26
+ $this->_init('ordertickets/ticket');
27
+ }
28
+
29
+ /**
30
+ * Return the created at in formated date
31
+ * @return string
32
+ */
33
+ public function getCreatedAtFormated(){
34
+ return Mage::helper('core')->formatDate($this->getCreatedAt(), 'medium', true);
35
+ }
36
+
37
+ /**
38
+ * Tell if the ticket has request type
39
+ * @return boolean
40
+ */
41
+ public function isRequest(){
42
+ return ($this->getType() == self::TYPE_REQUEST);
43
+ }
44
+
45
+ /**
46
+ * Get chat of the ticket
47
+ * @return Laurent_OrderTickets_Model_Chat
48
+ */
49
+ public function getChat(){
50
+ if(!$this->_chat){
51
+ $this->_chat = Mage::getModel('ordertickets/chat')->load($this->getChatId());
52
+ }
53
+
54
+ return $this->_chat;
55
+ }
56
+
57
+ }
58
+
59
+ ?>
app/code/community/Laurent/OrderTickets/controllers/Adminhtml/ChatController.php ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of ChatController
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_Adminhtml_ChatController extends Mage_Adminhtml_Controller_Action {
16
+
17
+ public function indexAction(){
18
+ $this->_initAction();
19
+ $this->_addContent($this->getLayout()->createBlock('ordertickets/adminhtml_chat'));
20
+ $this->renderLayout();
21
+ }
22
+
23
+ /**
24
+ * Viewing an order chat
25
+ */
26
+ public function viewAction(){
27
+ $chatId = $this->getRequest()->getParam('chat_id');
28
+
29
+ $chat = Mage::getModel('ordertickets/chat')->load($chatId);
30
+
31
+ if($chat->getId()){
32
+ Mage::register('ordertickets_chat', $chat);
33
+ $this->_initAction();
34
+ $this->_addContent($this->getLayout()->createBlock('ordertickets/adminhtml_chat_view'));
35
+ $this->_addLeft($this->getLayout()->createBlock('ordertickets/adminhtml_chat_view_tabs'));
36
+ $this->renderLayout();
37
+ }
38
+ else{
39
+ Mage::getSingleton('core/session')->addError($this->__('This chat does not exist'));
40
+ $this->_redirect('*/*/index');
41
+ }
42
+
43
+ }
44
+
45
+ /**
46
+ * Save Chat
47
+ *
48
+ * @return bool
49
+ */
50
+ public function saveAction()
51
+ {
52
+ if ($chatPost = $this->getRequest()->getPost()) {
53
+ $chatModel = Mage::getModel('ordertickets/chat')->setData($chatPost);
54
+
55
+ try {
56
+ $chatModel->save();
57
+
58
+ Mage::getSingleton('adminhtml/session')->addSuccess($this->__('Chat was succesfully saved'));
59
+ $this->getResponse()->setRedirect($this->getUrl("*/*/"));
60
+ return true;
61
+ }
62
+ catch (Exception $e) {
63
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
64
+ }
65
+
66
+ $this->_redirectReferer();
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Action for saving an answer ticket
72
+ */
73
+ public function answerPostAction(){
74
+ if($answerPost = $this->getRequest()->getPost('answer')){
75
+
76
+ if(isset($answerPost['chat_id'])){
77
+ $transaction = Mage::getModel('core/resource_transaction');
78
+
79
+ $chat = Mage::getModel('ordertickets/chat');
80
+ $chat->setId($answerPost['chat_id']);
81
+ $chat->setStatus($answerPost['status']);
82
+ $chat->setLastAnswerDate(now());
83
+
84
+ $transaction->addObject($chat);
85
+
86
+ if(isset($answerPost['message']) && $answerPost['message']){
87
+ $ticket = Mage::getModel('ordertickets/ticket');
88
+ $ticket->setChatId($answerPost['chat_id']);
89
+ $ticket->setMessage($answerPost['message']);
90
+ $ticket->setType(Laurent_OrderTickets_Model_Ticket::TYPE_ANSWER);
91
+
92
+ $transaction->addObject($ticket);
93
+ }
94
+
95
+ try{
96
+ $transaction->save();
97
+
98
+ Mage::getSingleton('adminhtml/session')->addSuccess($this->__('Answer successfully added'));
99
+ $this->getResponse()->setRedirect($this->getUrl("*/*/"));
100
+ return true;
101
+ }
102
+ catch(Exception $e){
103
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
104
+ }
105
+
106
+ $this->_redirectReferer();
107
+ }
108
+ }
109
+ }
110
+
111
+ public function customerchatsAction(){
112
+ $customerId = (int) $this->getRequest()->getParam('id');
113
+ $customer = Mage::getModel('customer/customer');
114
+
115
+ if ($customerId) {
116
+ $customer->load($customerId);
117
+ }
118
+
119
+ Mage::register('current_customer', $customer);
120
+
121
+ $this->getResponse()->setBody($this->getLayout()->createBlock('ordertickets/adminhtml_customer_edit_tab_tickets')->toHtml());
122
+ }
123
+
124
+ /**
125
+ * Initialize action
126
+ *
127
+ * @return Mage_Adminhtml_Controller_Action
128
+ */
129
+ protected function _initAction()
130
+ {
131
+ $this->loadLayout()
132
+ ->_setActiveMenu('sales/ordertickets')
133
+ ->_addBreadcrumb($this->__('Sales'), $this->__('Sales'))
134
+ ->_addBreadcrumb($this->__('Order tickets'), $this->__('Order tickets'));
135
+ return $this;
136
+ }
137
+
138
+ }
139
+
140
+ ?>
app/code/community/Laurent/OrderTickets/controllers/ChatController.php ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ /**
12
+ * Description of ChatController
13
+ *
14
+ */
15
+ class Laurent_OrderTickets_ChatController extends Mage_Core_Controller_Front_Action {
16
+
17
+ public function viewAction() {
18
+ $this->_loadValidOrder();
19
+
20
+ $this->loadLayout();
21
+
22
+ $this->_initLayoutMessages('customer/session');
23
+
24
+ $this->getLayout()->getBlock('head')->setTitle($this->__('Order #%s - Messages', Mage::registry('current_order')->getIncrementId()));
25
+
26
+ if ($navigationBlock = $this->getLayout()->getBlock('customer_account_navigation')) {
27
+ $navigationBlock->setActive('sales/order/history');
28
+ }
29
+
30
+ $this->renderLayout();
31
+ }
32
+
33
+ /**
34
+ * Action recording a ticket send through the form
35
+ */
36
+ public function ticketPostAction() {
37
+ $orderId = $this->getRequest()->getPost('order-id');
38
+ $message = $this->getRequest()->getPost('message');
39
+ $errorMessage = $this->__('Error while saving your message. Please try again');
40
+
41
+ if (!$orderId) {
42
+ Mage::getSingleton('customer/session')->addError($errorMessage);
43
+ $this->_redirect('sales/order/history');
44
+ return false;
45
+ }
46
+
47
+ $chat = $this->_loadChat($orderId);
48
+
49
+ if (!$chat || !$chat->getId()) {
50
+ Mage::getSingleton('customer/session')->addError($errorMessage);
51
+ $this->_redirect('*/*/view', array('order_id' => $orderId));
52
+ return false;
53
+ }
54
+
55
+ $chatId = $chat->getId();
56
+
57
+ try {
58
+ $ticket = Mage::getModel('ordertickets/ticket');
59
+ $ticket->setChatId($chatId);
60
+ $ticket->setMessage($message);
61
+ $ticket->setType(Laurent_OrderTickets_Model_Ticket::TYPE_REQUEST);
62
+ $ticket->save();
63
+ } catch (Exception $e) {
64
+ Mage::log('Error while saving a ticket: ' . $e->getMessage(), Zend_Log::ERR);
65
+ Mage::getSingleton('customer/session')->addError($errorMessage);
66
+ $this->_redirect('*/*/view', array('order_id' => $orderId));
67
+ return false;
68
+ }
69
+
70
+ $successMessage = $this->__('Your message was successfully recorded');
71
+ Mage::getSingleton('customer/session')->addSuccess($successMessage);
72
+
73
+ $this->_redirect('*/*/view', array('order_id' => $orderId));
74
+ }
75
+
76
+ protected function _loadChat($orderId){
77
+ $chat = Mage::helper('ordertickets')->loadChatFromOrderId($orderId);
78
+
79
+ if(!$chat || !$chat->getId()){
80
+ $order = Mage::getModel('sales/order')->load($orderId);
81
+
82
+ try{
83
+ $chat = Mage::getModel('ordertickets/chat');
84
+ $chat->setOrderId($orderId);
85
+ $chat->setStatus(Laurent_OrderTickets_Model_Chat::STATUS_OPEN);
86
+ $chat->setCustomerFirstname($order->getCustomerFirstname());
87
+ $chat->setCustomerLastname($order->getCustomerLastname());
88
+ $chat->setCustomerEmail($order->getCustomerEmail());
89
+ $chat->save();
90
+ }
91
+ catch(Exception $e){
92
+ $errorMessage = $this->__('Error while saving your message. Please try again');
93
+ Mage::log('Error while saving a ticket: ' . $e->getMessage(), Zend_Log::ERR);
94
+ Mage::getSingleton('customer/session')->addError($errorMessage);
95
+ $this->_redirect('*/*/view', array('order_id' => $orderId));
96
+ return false;
97
+ }
98
+ }
99
+
100
+ return $chat;
101
+ }
102
+
103
+ /**
104
+ * Try to load valid order by order_id and register it
105
+ *
106
+ * @param int $orderId
107
+ * @return bool
108
+ */
109
+ protected function _loadValidOrder($orderId = null) {
110
+ if (null === $orderId) {
111
+ $orderId = (int) $this->getRequest()->getParam('order_id');
112
+ }
113
+ if (!$orderId) {
114
+ $this->_forward('noRoute');
115
+ return false;
116
+ }
117
+
118
+ $order = Mage::getModel('sales/order')->load($orderId);
119
+
120
+ Mage::register('current_order', $order);
121
+ return true;
122
+ }
123
+
124
+ }
125
+
126
+ ?>
app/code/community/Laurent/OrderTickets/doc/EVOLUTIONS.txt ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * @category Laurent
3
+ * @package Laurent_OrderTickets
4
+ * @copyright Copyright (c) 2011 Laurent Clouet
5
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
6
+ * @author Laurent Clouet <laurent35240@gmail.com>
7
+ */
8
+
9
+ Principal ideas for evolutions of this extension:
10
+
11
+ - Have a better status management with possibility of defining status for
12
+ specific action
13
+
14
+ - Possibility in FO for customer to edit his own messages
15
+
16
+ - More straightforward relations between tickets for being able to indicate to
17
+ which message an answer is dedicated
18
+
19
+ - Possibility of edditing/deleting every message in BO
20
+
21
+ - Notifying customer by email about a new answer
app/code/community/Laurent/OrderTickets/doc/INSTALL.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * @category Laurent
3
+ * @package Laurent_OrderTickets
4
+ * @copyright Copyright (c) 2011 Laurent Clouet
5
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
6
+ * @author Laurent Clouet <laurent35240@gmail.com>
7
+ */
8
+
9
+ 1. Install extension through Magento downloader or with pear
10
+
11
+ 2. For receiving automatically email about new tickets set correct email
12
+ recipients in BO System > Configuration > Sales > Orders tickets
13
+
14
+ 3. You can also change frequency for receiving this emails by changing cron
15
+ expression at the same place.
16
+ By default emails are send every day at 2:42 and 14:42
17
+ More about cron expression: http://en.wikipedia.org/wiki/Cron#CRON_expression
app/code/community/Laurent/OrderTickets/doc/logo.png ADDED
Binary file
app/code/community/Laurent/OrderTickets/doc/logo.svg ADDED
@@ -0,0 +1,1756 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ width="744.09448819"
14
+ height="1052.3622047"
15
+ id="svg2"
16
+ version="1.1"
17
+ inkscape:version="0.48.1 r9760"
18
+ sodipodi:docname="logo.svg"
19
+ inkscape:export-filename="/home/laurent/projects/magento/magento-1.5.1.0/app/code/community/Laurent/OrderTickets/doc/logo.png"
20
+ inkscape:export-xdpi="90"
21
+ inkscape:export-ydpi="90">
22
+ <defs
23
+ id="defs4" />
24
+ <sodipodi:namedview
25
+ id="base"
26
+ pagecolor="#ffffff"
27
+ bordercolor="#666666"
28
+ borderopacity="1.0"
29
+ inkscape:pageopacity="0.0"
30
+ inkscape:pageshadow="2"
31
+ inkscape:zoom="0.35"
32
+ inkscape:cx="375"
33
+ inkscape:cy="520"
34
+ inkscape:document-units="px"
35
+ inkscape:current-layer="layer1"
36
+ showgrid="false"
37
+ inkscape:window-width="1280"
38
+ inkscape:window-height="743"
39
+ inkscape:window-x="-2"
40
+ inkscape:window-y="-3"
41
+ inkscape:window-maximized="1" />
42
+ <metadata
43
+ id="metadata7">
44
+ <rdf:RDF>
45
+ <cc:Work
46
+ rdf:about="">
47
+ <dc:format>image/svg+xml</dc:format>
48
+ <dc:type
49
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
50
+ <dc:title></dc:title>
51
+ </cc:Work>
52
+ </rdf:RDF>
53
+ </metadata>
54
+ <g
55
+ inkscape:label="Layer 1"
56
+ inkscape:groupmode="layer"
57
+ id="layer1">
58
+ <g
59
+ id="g3780"
60
+ transform="matrix(0.98110113,0.19349565,-0.19349565,0.98110113,104.67524,2.240167)">
61
+ <rect
62
+ y="332.36218"
63
+ x="282.85715"
64
+ height="157.14285"
65
+ width="282.85715"
66
+ id="rect3010"
67
+ style="fill:#4d0500;fill-opacity:1;stroke:#ff0000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
68
+ <text
69
+ transform="scale(1.0273339,0.97339336)"
70
+ sodipodi:linespacing="125%"
71
+ id="text2996"
72
+ y="411.90192"
73
+ x="413.50165"
74
+ style="font-size:52.69551849px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#f6f6f6;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
75
+ xml:space="preserve"><tspan
76
+ y="411.90192"
77
+ x="413.50165"
78
+ id="tspan2998"
79
+ sodipodi:role="line">Order</tspan><tspan
80
+ id="tspan3000"
81
+ y="477.7713"
82
+ x="413.50165"
83
+ sodipodi:role="line">Tickets</tspan></text>
84
+ </g>
85
+ <image
86
+ y="520.07648"
87
+ x="160.78569"
88
+ id="image2993"
89
+ xlink:href="data:image/png;base64,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
1742
+ "
1743
+ height="396"
1744
+ width="307" />
1745
+ <flowRoot
1746
+ xml:space="preserve"
1747
+ id="flowRoot3002"
1748
+ style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Bitstream Vera Sans;font-style:normal;font-weight:normal;font-size:40px;line-height:125%;letter-spacing:0px;word-spacing:0px"><flowRegion
1749
+ id="flowRegion3004"><rect
1750
+ id="rect3006"
1751
+ width="288.57144"
1752
+ height="65.714287"
1753
+ x="-182.85715"
1754
+ y="172.36218" /></flowRegion><flowPara
1755
+ id="flowPara3008"></flowPara></flowRoot> </g>
1756
+ </svg>
app/code/community/Laurent/OrderTickets/doc/tables_scheme.graphml ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3
+ <!--Created by yFiles for Java HEAD-Current-->
4
+ <key for="graphml" id="d0" yfiles.type="resources"/>
5
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
6
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
7
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
8
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
9
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
10
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
11
+ <key attr.name="Description" attr.type="string" for="graph" id="d7"/>
12
+ <key attr.name="url" attr.type="string" for="edge" id="d8"/>
13
+ <key attr.name="description" attr.type="string" for="edge" id="d9"/>
14
+ <key for="edge" id="d10" yfiles.type="edgegraphics"/>
15
+ <graph edgedefault="directed" id="G">
16
+ <data key="d7"/>
17
+ <node id="n0">
18
+ <data key="d6">
19
+ <y:ShapeNode>
20
+ <y:Geometry height="66.80000000000001" width="116.4" x="79.20000000000003" y="0.0"/>
21
+ <y:Fill color="#FFCC00" transparent="false"/>
22
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
23
+ <y:NodeLabel alignment="left" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="90.6015625" x="12.899218750000003" y="3.4625000000000057">sales_order
24
+ --------------------
25
+ id: int(PK)
26
+ ......</y:NodeLabel>
27
+ <y:Shape type="roundrectangle"/>
28
+ </y:ShapeNode>
29
+ </data>
30
+ </node>
31
+ <node id="n1">
32
+ <data key="d6">
33
+ <y:ShapeNode>
34
+ <y:Geometry height="169.20000000000002" width="236.4000000000001" x="19.19999999999999" y="106.80000000000001"/>
35
+ <y:Fill color="#FFCC00" transparent="false"/>
36
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
37
+ <y:NodeLabel alignment="left" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="157.65625" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="209.9921875" x="13.203906250000045" y="5.771875000000023">ordertickets_chat
38
+ -----------------------------
39
+ id: int(PK)
40
+ status: varchar(255)
41
+ order_id: int (FK)
42
+ customer_firstname: varchar(255)
43
+ customer_lastname: varchat(255)
44
+ customer_email: varchar(255)
45
+ created_at: datetime
46
+ updated_at: datetime
47
+ last_answer_date: datetime</y:NodeLabel>
48
+ <y:Shape type="roundrectangle"/>
49
+ </y:ShapeNode>
50
+ </data>
51
+ </node>
52
+ <node id="n2">
53
+ <data key="d6">
54
+ <y:ShapeNode>
55
+ <y:Geometry height="144.39999999999992" width="274.8" x="0.0" y="316.0"/>
56
+ <y:Fill color="#FFCC00" transparent="false"/>
57
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
58
+ <y:NodeLabel alignment="left" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="129.71875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="252.70703125" x="11.046484375000006" y="7.340624999999932">ordertickets_ticket
59
+ ------------------------------
60
+ id: int(PK)
61
+ chat_id: int(FK)
62
+ message: text
63
+ type: varchar(255)
64
+ reported_by_cron: boolean (default false)
65
+ created_at: datetime
66
+ updated_at: datetime</y:NodeLabel>
67
+ <y:Shape type="roundrectangle"/>
68
+ </y:ShapeNode>
69
+ </data>
70
+ </node>
71
+ <edge id="e0" source="n0" target="n1">
72
+ <data key="d10">
73
+ <y:PolyLineEdge>
74
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
75
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
76
+ <y:Arrows source="none" target="standard"/>
77
+ <y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="23.599609375" x="2.000006103515659" y="11.048924255371105">0-1</y:EdgeLabel>
78
+ <y:BendStyle smoothed="false"/>
79
+ </y:PolyLineEdge>
80
+ </data>
81
+ </edge>
82
+ <edge id="e1" source="n1" target="n2">
83
+ <data key="d10">
84
+ <y:PolyLineEdge>
85
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
86
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
87
+ <y:Arrows source="none" target="standard"/>
88
+ <y:EdgeLabel alignment="center" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="six_pos" modelPosition="tail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="23.5703125" x="2.000006103515659" y="11.00506591796875">0-n</y:EdgeLabel>
89
+ <y:BendStyle smoothed="false"/>
90
+ </y:PolyLineEdge>
91
+ </data>
92
+ </edge>
93
+ </graph>
94
+ <data key="d0">
95
+ <y:Resources/>
96
+ </data>
97
+ </graphml>
app/code/community/Laurent/OrderTickets/doc/tables_scheme.jpg ADDED
Binary file
app/code/community/Laurent/OrderTickets/etc/config.xml ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Laurent_OrderTickets>
5
+ <version>1.0.0</version>
6
+ </Laurent_OrderTickets>
7
+ </modules>
8
+ <global>
9
+ <blocks>
10
+ <ordertickets>
11
+ <class>Laurent_OrderTickets_Block</class>
12
+ </ordertickets>
13
+ </blocks>
14
+ <helpers>
15
+ <ordertickets>
16
+ <class>Laurent_OrderTickets_Helper</class>
17
+ </ordertickets>
18
+ </helpers>
19
+ <models>
20
+ <ordertickets>
21
+ <class>Laurent_OrderTickets_Model</class>
22
+ <resourceModel>ordertickets_mysql4</resourceModel>
23
+ </ordertickets>
24
+ <ordertickets_mysql4>
25
+ <class>Laurent_OrderTickets_Model_Mysql4</class>
26
+ <entities>
27
+ <chat>
28
+ <table>ordertickets_chat</table>
29
+ </chat>
30
+ <ticket>
31
+ <table>ordertickets_ticket</table>
32
+ </ticket>
33
+ </entities>
34
+ </ordertickets_mysql4>
35
+ </models>
36
+ <resources>
37
+ <ordertickets_setup>
38
+ <setup>
39
+ <module>Laurent_OrderTickets</module>
40
+ <class>Mage_Core_Model_Resource_Setup</class>
41
+ </setup>
42
+ <connection>
43
+ <use>core_setup</use>
44
+ </connection>
45
+ </ordertickets_setup>
46
+ <ordertickets_write>
47
+ <connection>
48
+ <use>core_write</use>
49
+ </connection>
50
+ </ordertickets_write>
51
+ <ordertickets_read>
52
+ <connection>
53
+ <use>core_read</use>
54
+ </connection>
55
+ </ordertickets_read>
56
+ </resources>
57
+ </global>
58
+ <admin>
59
+ <routers>
60
+ <ordertickets>
61
+ <use>admin</use>
62
+ <args>
63
+ <module>Laurent_OrderTickets</module>
64
+ <frontName>ordertickets</frontName>
65
+ </args>
66
+ </ordertickets>
67
+ </routers>
68
+ </admin>
69
+ <adminhtml>
70
+ <layout>
71
+ <updates>
72
+ <ordertickets module="Laurent_OrderTikets">
73
+ <file>ordertickets.xml</file>
74
+ </ordertickets>
75
+ </updates>
76
+ </layout>
77
+ <menu>
78
+ <sales>
79
+ <children>
80
+ <ordertickets translate="title">
81
+ <title>Order tickets</title>
82
+ <action>ordertickets/adminhtml_chat</action>
83
+ <sort_order>600</sort_order>
84
+ </ordertickets>
85
+ </children>
86
+ </sales>
87
+ </menu>
88
+ <translate>
89
+ <modules>
90
+ <Laurent_OrderTickets>
91
+ <files>
92
+ <default>Laurent_OrderTickets.csv</default>
93
+ </files>
94
+ </Laurent_OrderTickets>
95
+ </modules>
96
+ </translate>
97
+ </adminhtml>
98
+ <frontend>
99
+ <layout>
100
+ <updates>
101
+ <ordertickets module="Laurent_OrderTikets">
102
+ <file>ordertickets.xml</file>
103
+ </ordertickets>
104
+ </updates>
105
+ </layout>
106
+ <routers>
107
+ <ordertickets>
108
+ <use>standard</use>
109
+ <args>
110
+ <module>Laurent_OrderTickets</module>
111
+ <frontName>ordertickets</frontName>
112
+ </args>
113
+ </ordertickets>
114
+ </routers>
115
+ <translate>
116
+ <modules>
117
+ <Laurent_OrderTickets>
118
+ <files>
119
+ <default>Laurent_OrderTickets.csv</default>
120
+ </files>
121
+ </Laurent_OrderTickets>
122
+ </modules>
123
+ </translate>
124
+ </frontend>
125
+ <crontab>
126
+ <jobs>
127
+ <send_mail_ordertickets>
128
+ <run>
129
+ <model>ordertickets/observer::sendEmailLastRequests</model>
130
+ </run>
131
+ </send_mail_ordertickets>
132
+ </jobs>
133
+ </crontab>
134
+ <default>
135
+ <sales>
136
+ <ordertickets>
137
+ <cron_expr>42 2,14 * * *</cron_expr>
138
+ <cron_recipients>name@domain.com</cron_recipients>
139
+ </ordertickets>
140
+ </sales>
141
+ </default>
142
+ </config>
app/code/community/Laurent/OrderTickets/etc/system.xml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <sections>
4
+ <sales>
5
+ <groups>
6
+ <ordertickets translate="label">
7
+ <label>Orders tickets</label>
8
+ <frontend_type>text</frontend_type>
9
+ <sort_order>70</sort_order>
10
+ <show_in_default>1</show_in_default>
11
+ <show_in_website>0</show_in_website>
12
+ <show_in_store>0</show_in_store>
13
+ <fields>
14
+ <cron_expr translate="label">
15
+ <label>Cron frequency</label>
16
+ <sort_order>5</sort_order>
17
+ <frontend_type>text</frontend_type>
18
+ <backend_model>ordertickets/config_cron</backend_model>
19
+ <show_in_default>1</show_in_default>
20
+ <show_in_website>0</show_in_website>
21
+ <show_in_store>0</show_in_store>
22
+ </cron_expr>
23
+ <cron_recipients translate="label comment">
24
+ <label>Cron recipients</label>
25
+ <comment>Separate recipients with comma</comment>
26
+ <sort_order>10</sort_order>
27
+ <frontend_type>text</frontend_type>
28
+ <show_in_default>1</show_in_default>
29
+ <show_in_website>0</show_in_website>
30
+ <show_in_store>0</show_in_store>
31
+ </cron_recipients>
32
+ </fields>
33
+ </ordertickets>
34
+ </groups>
35
+ </sales>
36
+ </sections>
37
+ </config>
app/code/community/Laurent/OrderTickets/sql/ordertickets_setup/mysql4-install-0.1.0.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+
11
+ $installer = $this;
12
+
13
+ $installer->startSetup();
14
+
15
+ $installer->run("
16
+ -- DROP TABLE IF EXISTS {$this->getTable('ordertickets_chat')};
17
+
18
+ CREATE TABLE `{$this->getTable('ordertickets_chat')}` (
19
+ `id` INT(10) unsigned NOT NULL auto_increment,
20
+ `order_id` INT(10) unsigned NOT NULL,
21
+ `status` VARCHAR(255) NOT NULL,
22
+ `customer_firstname` VARCHAR(255) NULL,
23
+ `customer_lastname` VARCHAR(255) NULL,
24
+ `customer_email` VARCHAR(255) NULL,
25
+ `created_at` datetime NOT NULL default '0000-00-00 00:00:00',
26
+ `updated_at` datetime NOT NULL default '0000-00-00 00:00:00',
27
+ PRIMARY KEY (`id`),
28
+ KEY `FK_ordertickets_chat_order` (`order_id`),
29
+ CONSTRAINT `FK_ordertickets_chat_order` FOREIGN KEY (`order_id`) REFERENCES {$this->getTable('sales/order')} (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE
30
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
31
+
32
+
33
+ -- DROP TABLE IF EXISTS {$this->getTable('ordertickets_ticket')};
34
+
35
+ CREATE TABLE `{$this->getTable('ordertickets_ticket')}` (
36
+ `id` INT(10) unsigned NOT NULL auto_increment,
37
+ `chat_id` INT(10) unsigned NOT NULL,
38
+ `message` TEXT NOT NULL,
39
+ `type` VARCHAR(255) NOT NULL,
40
+ `reported_by_cron` TINYINT(1) unsigned NOT NULL default '0',
41
+ `created_at` datetime NOT NULL default '0000-00-00 00:00:00',
42
+ `updated_at` datetime NOT NULL default '0000-00-00 00:00:00',
43
+ PRIMARY KEY (`id`),
44
+ KEY `FK_ordertickets_ticket_chat` (`chat_id`),
45
+ CONSTRAINT `FK_ordertickets_ticket_chat` FOREIGN KEY (`chat_id`) REFERENCES {$this->getTable('ordertickets_chat')} (`id`) ON DELETE CASCADE ON UPDATE CASCADE
46
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
47
+ ");
48
+
49
+ $installer->endSetup();
50
+ ?>
app/code/community/Laurent/OrderTickets/sql/ordertickets_setup/mysql4-upgrade-0.1.0-0.1.1.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * @category Laurent
5
+ * @package Laurent_OrderTickets
6
+ * @copyright Copyright (c) 2011 Laurent Clouet
7
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ * @author Laurent Clouet <laurent35240@gmail.com>
9
+ */
10
+ $installer = $this;
11
+
12
+ $installer->startSetup();
13
+
14
+ $installer->run("
15
+ ALTER TABLE `ordertickets_chat` ADD `last_answer_date` DATETIME NULL;
16
+ ");
17
+
18
+ $installer->endSetup();
19
+
20
+ ?>
app/design/adminhtml/default/default/layout/ordertickets.xml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout>
3
+ <adminhtml_customer_edit>
4
+ <reference name="customer_edit_tabs">
5
+ <action method="addTab"><name>customer_tickets</name><block>ordertickets/adminhtml_customer_edit_tab_tickets</block></action>
6
+ </reference>
7
+ </adminhtml_customer_edit>
8
+ <adminhtml_sales_order_view>
9
+ <reference name="sales_order_tabs">
10
+ <action method="addTab"><name>order_tickets</name><block>ordertickets/adminhtml_order_view_tab_tickets</block></action>
11
+ </reference>
12
+ </adminhtml_sales_order_view>
13
+ </layout>
app/design/adminhtml/default/default/template/ordertickets/chat/view/tab/tickets.phtml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @see Laurent_OrderTickets_Block_Adminhtml_Chat_View_Tab_Tickets
4
+ */
5
+ ?>
6
+ <?php foreach($this->getTickets() as $ticket): ?>
7
+ <div>
8
+ <h4>
9
+ <?php if($ticket->isRequest()): ?>
10
+ <?php echo $this->__('Message from %s send the', $this->getChat()->getCustomerFirstname() . ' ' . $this->getChat()->getCustomerLastname())?>
11
+ <?php else: ?>
12
+ <?php echo $this->__('Answer send the')?>
13
+ <?php endif; ?>
14
+ <?php echo Mage::helper('core')->formatDate($ticket->getCreatedAt(), 'full', true)?>
15
+ </h4>
16
+ <p>
17
+ <?php echo nl2br($ticket->getMessage()) ?>
18
+ </p>
19
+ </div>
20
+ <?php endforeach; ?>
21
+ <div class="entry-edit">
22
+ <div class="entry-edit-head">
23
+ <h4><?php echo $this->__('Add an answer'); ?></h4>
24
+ </div>
25
+ <div class="fieldset fieldset-wide">
26
+ <table cellspacing="0" class="form-list">
27
+ <tr>
28
+ <td class="label"><label for="message"><?php echo $this->__('Message')?></label></td>
29
+ <td class="value"><textarea name="answer[message]" id="message"></textarea></td>
30
+ </tr>
31
+ <tr>
32
+ <td class="label"><label for="status"><?php echo $this->__('Status')?></label></td>
33
+ <td class="value">
34
+ <select name="answer[status]" id="status">
35
+ <?php foreach(Mage::helper('ordertickets')->getChatStatuses() as $statusKey => $statusLabel):?>
36
+ <option value="<?php echo $statusKey?>" <?php if($statusKey == $this->getChat()->getStatus()): ?>selected="selected"<?php endif; ?>>
37
+ <?php echo $statusLabel?>
38
+ </option>
39
+ <?php endforeach;?>
40
+ </select>
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <td class="label"></td>
45
+ <td class="value f-right">
46
+ <input type="hidden" name="answer[chat_id]" value="<?php echo $this->getChat()->getId()?>" />
47
+ <button onclick="postAnswer();" class="form-button" type="submit"><span><?php echo $this->__('Send') ?></span></button>
48
+ </td>
49
+ </tr>
50
+ </table>
51
+ </div>
52
+ </div>
53
+
54
+ <script type="text/javascript">
55
+ function postAnswer()
56
+ {
57
+ var form = document.getElementById("edit_form");
58
+ form.action = '<?php echo $this->getPostAnswerUrl()?>';
59
+ form.submit();
60
+ }
61
+ </script>
app/design/adminhtml/default/default/template/ordertickets/order/view/tab/tickets.phtml ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @see Laurent_OrderTickets_Block_Adminhtml_Order_View_Tab_Tickets
4
+ */
5
+ ?>
6
+ <div class="entry-edit">
7
+ <div class="entry-edit-head">
8
+ <h4><?php echo $this->__('Order tickets'); ?></h4>
9
+ </div>
10
+ <div class="fieldset fieldset-wide">
11
+ <?php if($this->hasChat()):?>
12
+ <table cellspacing="0" class="form-list">
13
+ <tr>
14
+ <td class="label"><?php echo $this->__('Created at') ?></td>
15
+ <td class="value"><?php echo Mage::helper('core')->formatDate($this->getChat()->getCreatedAt(), 'full', true)?></td>
16
+ </tr>
17
+ <tr>
18
+ <td class="label"><?php echo $this->__('Last answer date') ?></td>
19
+ <td class="value"><?php echo Mage::helper('core')->formatDate($this->getChat()->getLastAnswerDate(), 'full', true)?></td>
20
+ </tr>
21
+ <tr>
22
+ <td class="label"><?php echo $this->__('Status') ?></td>
23
+ <td class="value"><?php echo $this->getChat()->getStatusLabel() ?></td>
24
+ </tr>
25
+ <tr>
26
+ <td class="label">
27
+ <a href="<?php echo $this->getChatViewUrl()?>">
28
+ &gt; <?php echo $this->__('Details') ?>
29
+ </a>
30
+ </td>
31
+ <td class="value"></td>
32
+ </tr>
33
+ </table>
34
+ <?php else: ?>
35
+ <?php echo $this->__('There is no ticket associated to this order')?>
36
+ <?php endif; ?>
37
+ </div>
38
+ </div>
app/design/frontend/default/default/layout/ordertickets.xml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <!--
4
+ Document : ordertickets.xml
5
+ Created on : 30 avril 2011, 13:01
6
+ Author : laurent
7
+ -->
8
+ <layout version="0.1.0">
9
+ <ordertickets_chat_view>
10
+ <update handle="customer_account"/>
11
+ <reference name="head">
12
+ <action method="addCss"><stylesheet>css/ordertickets.css</stylesheet></action>
13
+ </reference>
14
+ <reference name="content">
15
+ <block type="ordertickets/order_tabs" name="ordertickets_order_tabs" template="ordertickets/order/tabs.phtml"></block>
16
+ <block type="ordertickets/chat" name="ordertickets_chat" template="ordertickets/chat.phtml"></block>
17
+ </reference>
18
+ </ordertickets_chat_view>
19
+
20
+ <sales_order_view>
21
+ <reference name="head">
22
+ <action method="addCss"><stylesheet>css/ordertickets.css</stylesheet></action>
23
+ </reference>
24
+ <reference name="content">
25
+ <block type="ordertickets/order_tabs" name="ordertickets_order_tabs" template="ordertickets/order/tabs.phtml" before="info"></block>
26
+ </reference>
27
+ </sales_order_view>
28
+ </layout>
app/design/frontend/default/default/template/ordertickets/chat.phtml ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @see Laurent_OrderTickets_Block_Chat
4
+ */
5
+
6
+ $_order = $this->getOrder();
7
+ ?>
8
+ <?php echo $this->getMessagesBlock()->getGroupedHtml();?>
9
+ <div class="page-head button-level">
10
+ <h3><?php echo $this->__('Order #%s - %s', $_order->getRealOrderId(), $_order->getStatusLabel()) ?></h3>
11
+ </div>
12
+ <?php foreach($this->getTickets() as $ticket):?>
13
+ <div class="ticket <?php echo $ticket->getType()?>">
14
+ <h4>
15
+ <?php if($ticket->isRequest()) :?>
16
+ <?php echo $this->__('Your message send the') ?>
17
+ <?php else: ?>
18
+ <?php echo $this->__('Answer from %s send the', Mage::app()->getStore()->getName()) ?>
19
+ <?php endif; ?>
20
+ <?php echo $ticket->getCreatedAtFormated() ?>
21
+ </h4>
22
+ <p>
23
+ <?php echo nl2br($ticket->getMessage()) ?>
24
+ </p>
25
+ </div>
26
+ <?php endforeach; ?>
27
+
28
+ <form action="<?php echo $this->getSendTicketPostUrl() ?>" method="post" id="form-send-ticket">
29
+ <div class="fieldset">
30
+ <h4 class="legend"><?php echo $this->__('Add a message') ?></h4>
31
+ <ul class="form-list">
32
+ <li class="wide">
33
+ <label for="message" class="required"><em>*</em><?php echo $this->__('Message') ?></label>
34
+ <div class="input-box">
35
+ <textarea name="message" title="<?php echo $this->__('Message') ?>" class="required-entry input-text" cols="60" rows="5"><?php //echo $this->getEscaped($this->getMessage()) ?></textarea>
36
+ </div>
37
+ </li>
38
+ </ul>
39
+ <input type="hidden" name="order-id" value="<?php echo $this->getOrder()->getId(); ?>" />
40
+ </div>
41
+ <div class="buttons-set">
42
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
43
+ <a href="<?php echo $this->getBackUrl() ?>" class="left">&laquo; <?php echo $this->__('Back to My Orders') ?></a>
44
+ <button class="button" type="submit"><span><?php echo $this->__('Send') ?></span></button>
45
+ </div>
46
+ </form>
47
+ <script type="text/javascript">
48
+ var dataForm = new VarienForm('form-send-ticket', true);
49
+ </script>
app/design/frontend/default/default/template/ordertickets/order/tabs.phtml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @see Laurent_OrderTickets_Block_Order_Tabs
4
+ */
5
+ ?>
6
+ <ul class="order-tabs">
7
+ <li class="<?php if($this->pageIsOrderView()):?>active<?php endif; ?>">
8
+ <a href="<?php echo $this->getOrderViewLink() ?>" class="link-cart">
9
+ <?php echo $this->__('Details') ?>
10
+ </a>
11
+ </li>
12
+ <li class="<?php if($this->pageIsOrderChat()):?>active<?php endif; ?>">
13
+ <a href="<?php echo $this->getOrderChatLink() ?>" class="link-cart">
14
+ <?php echo $this->__('Messages') ?>
15
+ </a>
16
+ </li>
17
+ </ul>
app/etc/modules/Laurent_OrderTickets.xml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Laurent_OrderTickets>
5
+ <active>true</active>
6
+ <codePool>community</codePool>
7
+ <depends>
8
+ <Mage_Sales />
9
+ </depends>
10
+ </Laurent_OrderTickets>
11
+ </modules>
12
+ </config>
app/locale/fr_FR/Laurent_OrderTickets.csv ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "* Required Fields","* Champs Obligatoires"
2
+ "Add a message","Ajouter un message"
3
+ "Add an answer","Ajouter une réponse"
4
+ "Answer from %s send the","Réponse de %s envoyée le"
5
+ "Answer send the","Réponse envoyée le"
6
+ "Answer successfully added","Votre réponse a bien été ajoutée"
7
+ "Back to My Orders","Retour à l'historique des commandes"
8
+ "Chat Information","Informations sur le chat"
9
+ "Chat was succesfully saved","Le chat a bien été enregistré"
10
+ "Closed","Clôturé"
11
+ "Created at","Créé le"
12
+ "Cron frequency","Fréquence du cron"
13
+ "Cron recipients","Destinataires de l'email du cron"
14
+ "Customer email","Email du client"
15
+ "Customer firstname","Prénom du client"
16
+ "Customer lastname","Nom du client"
17
+ "Details","Détails"
18
+ "Error while saving your message. Please try again","Erreur lors de l'enregistrement de votre message. Veuillez réessayer."
19
+ "Firstname","Prénom"
20
+ "General Information","Informations générales"
21
+ "Last answer date","Date de la dernière réponse"
22
+ "Last tickets send by customers","Derniers messages envoyés par les clients"
23
+ "Lastname","Nom"
24
+ "Message","Message"
25
+ "Message date","Date du message"
26
+ "Message from %s send the","Message de %s envoyé le"
27
+ "Messages","Messages"
28
+ "Open","Ouvert"
29
+ "Order","Commande"
30
+ "Order #%s - Messages","Commande n°%s - Messages"
31
+ "Order tickets","Tickets de la commande"
32
+ "Orders tickets","Tickets des commandes"
33
+ "Pending answer","En attente de réponse"
34
+ "Send","Envoyer"
35
+ "Separate recipients with comma","Séparer les destinataires avec des virgules"
36
+ "Status","Statut"
37
+ "There is no ticket associated to this order","Il n'y a pas de ticket associé à cette commande"
38
+ "This chat does not exist","Cette discussion n'existe pas"
39
+ "Your message send the","Votre message envoyé le"
40
+ "Your message was successfully recorded","Votre message a bien été enregistré"
package.xml ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>OrderTickets</name>
4
+ <version>1.0.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/afl-3.0.php">Academic Free License (AFL 3.0)</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Add ticketing system to orders</summary>
10
+ <description>Ticketing system to order:&#xD;
11
+ - customer can add message to orders&#xD;
12
+ - administrator can see thes messages, reply to them and change status of a chat&#xD;
13
+ - a cron also exists to send a reminder email to administrator about new messages</description>
14
+ <notes>First release of OrderTickets module</notes>
15
+ <authors><author><name>Laurent Clouet</name><user>auto-converted</user><email>laurent35240@gmail.com</email></author></authors>
16
+ <date>2011-06-24</date>
17
+ <time>22:14:35</time>
18
+ <contents><target name="magecommunity"><dir name="Laurent"><dir name="OrderTickets"><dir name="Block"><dir name="Adminhtml"><dir name="Chat"><dir name="View"><dir name="Tab"><file name="Main.php" hash="7ecd14eb6520037b80d171201b09a1a0"/><file name="Tickets.php" hash="d0bc294c0ce1f3a8be0f0508190d4387"/></dir><file name="Form.php" hash="c6b0a9e3ee8f74e03ad8bd91f6dd54ad"/><file name="Tabs.php" hash="f2ced70970ffaa74b7478709088ff146"/></dir><file name="Grid.php" hash="1254b6c710f7c3c77a1e78c188372727"/><file name="View.php" hash="bcb470a6e4e442129dd6c798b11576d4"/></dir><dir name="Customer"><dir name="Edit"><dir name="Tab"><file name="Tickets.php" hash="4be3b09ea9ad7265fc04ac82db5e8653"/></dir></dir></dir><dir name="Order"><dir name="View"><dir name="Tab"><file name="Tickets.php" hash="39efa19606e5a65d92a3cafa4e83f72e"/></dir></dir></dir><file name="Chat.php" hash="1e64e9e58574cdf03e3765e2578a8dee"/></dir><dir name="Order"><file name="Tabs.php" hash="1956b617d7cff9d9f9f882d65a18f10d"/></dir><file name="Chat.php" hash="009e9d56b35a91c3108f3d447114cfe5"/></dir><dir name="Helper"><file name="Data.php" hash="2b6517dae27dd5154075dea1ed329293"/></dir><dir name="Model"><dir name="Config"><file name="Cron.php" hash="1c4e850b9f7c772390e89b2ce4971a86"/></dir><dir name="Mysql4"><dir name="Chat"><file name="Collection.php" hash="2bc9017a38a52d99f5af7716df5724a3"/></dir><dir name="Ticket"><file name="Collection.php" hash="83b7bd93adc9b8e8c2767aa814d38c08"/></dir><file name="Chat.php" hash="bf438bbfe69eb42c73ef6f1774c74ebe"/><file name="Ticket.php" hash="bb305039b5fc4640efce960d039979cd"/></dir><file name="Abstract.php" hash="5ec0482cd76b8273c555ddaaaa339b22"/><file name="Chat.php" hash="3dac1681629ddd1a13e1d9262038baf0"/><file name="Observer.php" hash="74716dbbfd538381a08aa6e68479c286"/><file name="Ticket.php" hash="acef6bed5b8e78250123c652f5a610ac"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ChatController.php" hash="cced2fff5120c06edd5b432d17483619"/></dir><file name="ChatController.php" hash="5121a7b2220ffa73e446e19914af5b59"/></dir><dir name="doc"><file name="EVOLUTIONS.txt" hash="0a8331edd958a989a0ba023ade61ba7e"/><file name="INSTALL.txt" hash="316098ba4cebfa621753e18d550880fe"/><file name="logo.png" hash="2a863ae353401ed20c679782b8e694bf"/><file name="logo.svg" hash="eb6d4bd165834e3fd308c421c6a6e9bd"/><file name="tables_scheme.graphml" hash="66b71ac524ad926ba5a4c110840f5b57"/><file name="tables_scheme.jpg" hash="c26b66b1381efa32c7140892e11932ba"/></dir><dir name="etc"><file name="config.xml" hash="486136145369eb9dc4d3fec4fe9d745e"/><file name="system.xml" hash="37739c5007d90bdf7ee8cbe567e98b6a"/></dir><dir name="sql"><dir name="ordertickets_setup"><file name="mysql4-install-0.1.0.php" hash="d0b81bbbd209f3741f3a1610197155f8"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="8ea3c8455316e19871efac5ad0f67128"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ordertickets.xml" hash="b956aaf75b258d4677e6ba54974a8397"/></dir><dir name="template"><dir name="ordertickets"><dir name="chat"><dir name="view"><dir name="tab"><file name="tickets.phtml" hash="8843f45ab15ab1159cd78daa9af1e5a5"/></dir></dir></dir><dir name="order"><dir name="view"><dir name="tab"><file name="tickets.phtml" hash="d989be63e673e14fd7754d9d77a548c8"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="ordertickets.xml" hash="ff2e6b3a75dcf121fdc5a11bc320d46f"/></dir><dir name="template"><dir name="ordertickets"><dir name="order"><file name="tabs.phtml" hash="3a146acbd5ef5af0a7c939f60ee4c383"/></dir><file name="chat.phtml" hash="2c87d7b906dd80ebdfd86dcf2aadd755"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Laurent_OrderTickets.xml" hash="46fdc0a685ad8d9144f4db4cb99f97fe"/></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Laurent_OrderTickets.csv" hash="fc98199584867d140ba7e21cbb17ee49"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><file name="ordertickets.css" hash="f009140fffa838b6b3a3bfe011cebaa2"/></dir></dir></dir></dir></target></contents>
19
+ <compatible/>
20
+ <dependencies/>
21
+ </package>
skin/frontend/default/default/css/ordertickets.css ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Document : ordertikets
3
+ Created on : 30 avr. 2011, 13:33:15
4
+ Author : laurent
5
+ */
6
+
7
+ ul.order-tabs {
8
+ margin: 1em 0 1em 0;
9
+ font: 12px arial, helvetica, sans-serif;
10
+ border-bottom: 1px solid #D0CBC1;
11
+ list-style-type: none;
12
+ padding: 3px 10px 3px 10px;
13
+ }
14
+
15
+ ul.order-tabs li {
16
+ display: inline;
17
+ margin-left: 10px;
18
+ }
19
+
20
+ ul.order-tabs li.active {
21
+ border-bottom: 1px solid #D6DCDC; /* set border color to page background color */
22
+ background-color: #D6DCDC; /* set background color to match above border color */
23
+ }
24
+
25
+ ul.order-tabs li.active a { /* settings for selected tab link */
26
+ background-color: #D6DCDC; /* set selected tab background color as desired */
27
+ color: #000; /* set selected tab link color as desired */
28
+ position: relative;
29
+ top: 1px;
30
+ padding-top: 4px; /* must change with respect to padding (X) above and below */
31
+ }
32
+
33
+ ul.order-tabs li a { /* settings for all tab links */
34
+ padding: 3px 4px; /* set padding (tab size) as desired; FIRST number must change with respect to padding-top (X) above */
35
+ border: 1px solid #D0CBC1; /* set border COLOR as desired; usually matches border color specified in .order-tabs */
36
+ background-color: #fff; /* set unselected tab background color as desired */
37
+ margin-right: 0px; /* set additional spacing between tabs as desired */
38
+ text-decoration: none;
39
+ border-bottom: none;
40
+ }
41
+
42
+ ul.order-tabs a:hover { /* settings for hover effect */
43
+ background: #D6DCDC; /* set desired hover color */
44
+ }
45
+