Order_tickets - Version 1.0.1

Version Notes

First release of OrderTickets module

Download this release

Release Info

Developer Laurent Clouet
Extension Order_tickets
Version 1.0.1
Comparing to
See all releases


Version 1.0.1

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.1</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>Order_tickets</name>
4
+ <version>1.0.1</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>laurent35240</user><email>laurent35240@gmail.com</email></author></authors>
16
+ <date>2011-06-25</date>
17
+ <time>14:01:30</time>
18
+ <contents><target name="magecommunity"><dir name="Laurent"><dir name="OrderTickets"><dir name="Block"><dir name="Adminhtml"><dir name="Chat"><file name="Grid.php" hash="1254b6c710f7c3c77a1e78c188372727"/><dir name="View"><file name="Form.php" hash="c6b0a9e3ee8f74e03ad8bd91f6dd54ad"/><dir name="Tab"><file name="Main.php" hash="7ecd14eb6520037b80d171201b09a1a0"/><file name="Tickets.php" hash="d0bc294c0ce1f3a8be0f0508190d4387"/></dir><file name="Tabs.php" hash="f2ced70970ffaa74b7478709088ff146"/></dir><file name="View.php" hash="bcb470a6e4e442129dd6c798b11576d4"/></dir><file name="Chat.php" hash="1e64e9e58574cdf03e3765e2578a8dee"/><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></dir><file name="Chat.php" hash="009e9d56b35a91c3108f3d447114cfe5"/><dir name="Order"><file name="Tabs.php" hash="1956b617d7cff9d9f9f882d65a18f10d"/></dir></dir><dir name="Helper"><file name="Data.php" hash="2b6517dae27dd5154075dea1ed329293"/></dir><dir name="Model"><file name="Abstract.php" hash="5ec0482cd76b8273c555ddaaaa339b22"/><file name="Chat.php" hash="3dac1681629ddd1a13e1d9262038baf0"/><dir name="Config"><file name="Cron.php" hash="1c4e850b9f7c772390e89b2ce4971a86"/></dir><dir name="Mysql4"><dir name="Chat"><file name="Collection.php" hash="2bc9017a38a52d99f5af7716df5724a3"/></dir><file name="Chat.php" hash="bf438bbfe69eb42c73ef6f1774c74ebe"/><dir name="Ticket"><file name="Collection.php" hash="83b7bd93adc9b8e8c2767aa814d38c08"/></dir><file name="Ticket.php" hash="bb305039b5fc4640efce960d039979cd"/></dir><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="2014a61d3b573b19ca91c98bdb3c12e6"/><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"><file name="chat.phtml" hash="2c87d7b906dd80ebdfd86dcf2aadd755"/><dir name="order"><file name="tabs.phtml" hash="3a146acbd5ef5af0a7c939f60ee4c383"/></dir></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><required><php><min>5.2.0</min><max>6.0.0</max></php></required></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
+