mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-26 00:29:38 +01:00
Record share emails in history log & display them instead of user when set
This commit is contained in:
parent
d4c40e8ce3
commit
6708ccb043
@ -466,6 +466,13 @@ var et2_historylog = (function(){ "use strict"; return et2_valueWidget.extend([e
|
||||
jQuery("div", row).each(function (i) {
|
||||
var nodes = [];
|
||||
var widget = self.columns[i].widget;
|
||||
var value = _data[self.columns[i].id];
|
||||
if(self.OWNER === i && _data['share_email'])
|
||||
{
|
||||
// Show share email instead of owner
|
||||
widget = undefined;
|
||||
value = _data['share_email'];
|
||||
}
|
||||
if(typeof widget == 'undefined' && typeof self.fields[_data.status] != 'undefined')
|
||||
{
|
||||
widget = self.fields[_data.status].widget;
|
||||
@ -501,9 +508,9 @@ var et2_historylog = (function(){ "use strict"; return et2_valueWidget.extend([e
|
||||
|
||||
if (typeof _data[self.columns[self.NEW_VALUE].id] == "string")
|
||||
{
|
||||
_data[self.columns[i].id] = {
|
||||
value = _data[self.columns[i].id] = {
|
||||
'old': _data[self.columns[i+1].id],
|
||||
'new': _data[self.columns[i].id]
|
||||
'new': value
|
||||
};
|
||||
}
|
||||
|
||||
@ -513,7 +520,7 @@ var et2_historylog = (function(){ "use strict"; return et2_valueWidget.extend([e
|
||||
jthis.css("width", (self.dataview.columnMgr.columnWidths[i] + self.dataview.columnMgr.columnWidths[i+1]-10)+'px');
|
||||
|
||||
if(widget) widget.setDetachedAttributes(nodes, {
|
||||
value:_data[self.columns[i].id],
|
||||
value: value,
|
||||
label: jthis.parents("td").prev().text()
|
||||
});
|
||||
|
||||
@ -524,7 +531,7 @@ var et2_historylog = (function(){ "use strict"; return et2_valueWidget.extend([e
|
||||
else
|
||||
{
|
||||
// No widget fallback - display actual value
|
||||
nodes = '<span>'+_data[self.columns[i].id] + '</span>';
|
||||
nodes = '<span>'+ value + '</span>';
|
||||
}
|
||||
if(widget)
|
||||
{
|
||||
@ -534,14 +541,14 @@ var et2_historylog = (function(){ "use strict"; return et2_valueWidget.extend([e
|
||||
var box = jQuery(widget.getDOMNode()).clone();
|
||||
for(var j = 0; j < widget._children.length; j++)
|
||||
{
|
||||
widget._children[j].setDetachedAttributes(nodes[j], {value:_data[self.columns[i].id][j]});
|
||||
widget._children[j].setDetachedAttributes(nodes[j], {value:value[j]});
|
||||
box.append(nodes[j]);
|
||||
}
|
||||
nodes = box;
|
||||
}
|
||||
else
|
||||
{
|
||||
widget.setDetachedAttributes(nodes, {value:_data[self.columns[i].id]});
|
||||
widget.setDetachedAttributes(nodes, {value:value});
|
||||
}
|
||||
}
|
||||
jQuery(this).append(nodes);
|
||||
|
@ -11,7 +11,7 @@
|
||||
/* Basic information about this app */
|
||||
$setup_info['api']['name'] = 'api';
|
||||
$setup_info['api']['title'] = 'EGroupware API';
|
||||
$setup_info['api']['version'] = '17.1.001';
|
||||
$setup_info['api']['version'] = '17.1.002';
|
||||
$setup_info['api']['versions']['current_header'] = '1.29';
|
||||
// maintenance release in sync with changelog in doc/rpm-build/debian.changes
|
||||
$setup_info['api']['versions']['maintenance_release'] = '17.1.20180523';
|
||||
|
@ -154,7 +154,8 @@ $phpgw_baseline = array(
|
||||
'history_new_value' => array('type' => 'text','nullable' => False),
|
||||
'history_timestamp' => array('type' => 'timestamp','nullable' => False,'default' => 'current_timestamp'),
|
||||
'history_old_value' => array('type' => 'text','nullable' => False),
|
||||
'sessionid' => array('type' => 'int','precision' => '4','comment' => 'primary key to egw_access_log')
|
||||
'sessionid' => array('type' => 'int','precision' => '4','comment' => 'primary key to egw_access_log'),
|
||||
'share_email' => array('type' => 'varchar','precision' => '4096','nullable' => True,'default'=> NULL,'comment' => 'email addresses of share who made the change, comma seperated')
|
||||
),
|
||||
'pk' => array('history_id'),
|
||||
'fk' => array(),
|
||||
|
@ -422,4 +422,19 @@ function api_upgrade17_1()
|
||||
));
|
||||
|
||||
return $GLOBALS['setup_info']['api']['currentver'] = '17.1.001';
|
||||
}
|
||||
|
||||
/**
|
||||
* Add field to history log for share email address, if available
|
||||
*/
|
||||
function api_upgrade17_1_001()
|
||||
{
|
||||
$GLOBALS['egw_setup']->oProc->AddColumn('egw_history_log','share_email',array(
|
||||
'type' => 'varchar',
|
||||
'precision' => '4096',
|
||||
'default' => NULL,
|
||||
'nullable' => True,
|
||||
'comment' => 'email addresses of share who made the change, comma seperated'
|
||||
));
|
||||
return $GLOBALS['setup_info']['api']['currentver'] = '17.1.002';
|
||||
}
|
@ -118,6 +118,14 @@ class Sharing
|
||||
return $this->share['share_root'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get share with email addresses
|
||||
*/
|
||||
public function get_share_with()
|
||||
{
|
||||
return $this->share['share_with'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Create sharing session
|
||||
*
|
||||
@ -432,7 +440,7 @@ class Sharing
|
||||
{
|
||||
Header\Content::disposition(Vfs::basename($this->share['share_path']), false);
|
||||
}
|
||||
//$GLOBALS['egw']->session->commit_session();
|
||||
$GLOBALS['egw']->session->commit_session();
|
||||
$webdav_server = new Vfs\WebDAV();
|
||||
$webdav_server->ServeRequest(Vfs::concat($this->share['share_root'], $this->share['share_token']));
|
||||
return;
|
||||
|
@ -106,6 +106,7 @@ class History
|
||||
'history_old_value' => $old_value,
|
||||
'history_timestamp' => time(),
|
||||
'sessionid' => $GLOBALS['egw']->session->sessionid_access_log,
|
||||
'share_email' => isset($GLOBALS['egw']->sharing) ? $GLOBALS['egw']->sharing->get_share_with() : '',
|
||||
),false,__LINE__,__FILE__);
|
||||
}
|
||||
}
|
||||
@ -126,6 +127,7 @@ class History
|
||||
'history_old_value' => $old_value,
|
||||
'history_timestamp' => time(),
|
||||
'sessionid' => $GLOBALS['egw']->session->sessionid_access_log,
|
||||
'share_email' => isset($GLOBALS['egw']->sharing) ? $GLOBALS['egw']->sharing->get_share_with() : '',
|
||||
),false,__LINE__,__FILE__);
|
||||
}
|
||||
}
|
||||
@ -221,7 +223,17 @@ class History
|
||||
}
|
||||
$_query = array(array(
|
||||
'table' => self::TABLE,
|
||||
'cols' => array('history_id', 'history_record_id','history_appname','history_owner','history_status','history_new_value', 'history_timestamp','history_old_value'),
|
||||
'cols' => array(
|
||||
'history_id',
|
||||
'history_record_id',
|
||||
'history_appname',
|
||||
'history_owner',
|
||||
'history_status',
|
||||
'history_new_value',
|
||||
'history_timestamp',
|
||||
'history_old_value',
|
||||
'share_email'
|
||||
),
|
||||
'where' => $filter,
|
||||
));
|
||||
|
||||
@ -232,7 +244,7 @@ class History
|
||||
{
|
||||
$_query[] = array(
|
||||
'table' => Api\Vfs\Sqlfs\StreamWrapper::TABLE,
|
||||
'cols' =>array('fs_id', 'fs_dir', "'filemanager'",'COALESCE(fs_modifier,fs_creator)',"'~file~'",'fs_name','fs_modified', 'fs_mime'),
|
||||
'cols' =>array('fs_id', 'fs_dir', "'filemanager'",'COALESCE(fs_modifier,fs_creator)',"'~file~'",'fs_name','fs_modified', 'fs_mime', '"" AS share_email'),
|
||||
'where' => array('fs_dir' => $file['ino'])
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user