Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>A different take by observing the event *sales_order_status_history_save_before*</p> <p>Define the setup and observer in your config:</p> <pre><code>&lt;config&gt; &lt;modules&gt; &lt;Name_Module&gt; &lt;version&gt;0.0.1&lt;/version&gt; &lt;/Name_Module&gt; &lt;/modules&gt; &lt;global&gt; &lt;resources&gt; &lt;module_setup&gt; &lt;setup&gt; &lt;module&gt;Name_Module&lt;/module&gt; &lt;/setup&gt; &lt;connection&gt; &lt;use&gt;core_setup&lt;/use&gt; &lt;/connection&gt; &lt;/module_setup&gt; &lt;/resources&gt; &lt;events&gt; &lt;sales_order_status_history_save_before&gt; &lt;observers&gt; &lt;sales_order_status_history_save_before_observer&gt; &lt;type&gt;singleton&lt;/type&gt; &lt;class&gt;Name_Module_Model_Observer&lt;/class&gt; &lt;method&gt;orderStatusHistorySaveBefore&lt;/method&gt; &lt;/sales_order_status_history_save_before_observer&gt; &lt;/observers&gt; &lt;/sales_order_status_history_save_before&gt; &lt;/events&gt; &lt;!-- and so on -&gt; </code></pre> <p>In your module_setup file app\code\local\Name\Module\sql\module_setup\install-0.0.1.php</p> <pre><code>$installer = $this; $installer-&gt;startSetup(); $table = $installer-&gt;getTable('sales/order_status_history'); $installer-&gt;getConnection() -&gt;addColumn($table, 'username', array( 'type' =&gt; Varien_Db_Ddl_Table::TYPE_TEXT, 'length' =&gt; 40, 'nullable' =&gt; true, 'comment' =&gt; 'Admin user name' )); $installer-&gt;getConnection() -&gt;addColumn($table, 'userrole', array( 'type' =&gt; Varien_Db_Ddl_Table::TYPE_TEXT, 'length' =&gt; 50, 'nullable' =&gt; true, 'comment' =&gt; 'Admin user role' )); $installer-&gt;endSetup(); </code></pre> <p>Then in Name_Module_Model_Observer:</p> <pre><code>public function orderStatusHistorySaveBefore($observer) { $session = Mage::getSingleton('admin/session'); if ($session-&gt;isLoggedIn()) { //only for login admin user $user = $session-&gt;getUser(); $history = $observer-&gt;getEvent()-&gt;getStatusHistory(); if (!$history-&gt;getId()) { //only for new entry $history-&gt;setData('username', $user-&gt;getUsername()); $role = $user-&gt;getRole(); //if you have the column userrole $history-&gt;setData('userrole', $role-&gt;getRoleName()); //you can save it too } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload