Fix PHRAS-45 'mail' action is not logged anymore

This commit is contained in:
Nicolas Le Goff
2014-06-13 12:56:06 +02:00
parent 2253badd8e
commit 0345e0ee8e
6 changed files with 68 additions and 22 deletions

View File

@@ -122,7 +122,8 @@ class DoDownload implements ControllerProviderInterface
'list' => $list, 'list' => $list,
'records' => $records, 'records' => $records,
'token' => $token, 'token' => $token,
'anonymous' => $request->query->get('anonymous', false) 'anonymous' => $request->query->get('anonymous', false),
'type' => $request->query->get('type', \Session_Logger::EVENT_EXPORTDOWNLOAD)
))); )));
} }
@@ -161,12 +162,12 @@ class DoDownload implements ControllerProviderInterface
$app->abort(404, 'Download file not found'); $app->abort(404, 'Download file not found');
} }
$app->finish(function ($request, $response) use ($list, $app) { $app->after(function ($request, $response) use ($list, $app) {
\set_export::log_download( \set_export::log_download(
$app, $app,
$list, $list,
$request->request->get('type'), $request->get('type'),
(null !== $request->request->get('anonymous') ? true : false), !!$request->get('anonymous', false),
(isset($list['email']) ? $list['email'] : '') (isset($list['email']) ? $list['email'] : '')
); );
}); });

View File

@@ -282,7 +282,7 @@ class Export implements ControllerProviderInterface
$remaingEmails = $destMails; $remaingEmails = $destMails;
$url = $app->url('prepare_download', array('token' => $token, 'anonymous')); $url = $app->url('prepare_download', array('token' => $token, 'anonymous' => false, 'type' => \Session_Logger::EVENT_EXPORTMAIL));
$emitter = new Emitter($app['authentication']->getUser()->get_display_name(), $app['authentication']->getUser()->get_email()); $emitter = new Emitter($app['authentication']->getUser()->get_display_name(), $app['authentication']->getUser()->get_email());

View File

@@ -18,7 +18,7 @@ namespace Alchemy\Phrasea\Core;
*/ */
class Version class Version
{ {
protected static $number = '3.8.4-alpha.4'; protected static $number = '3.8.4-alpha.5';
protected static $name = 'Diplodocus'; protected static $name = 'Diplodocus';
public static function getNumber() public static function getNumber()

View File

@@ -0,0 +1,57 @@
<?php
/*
* This file is part of Phraseanet
*
* (c) 2005-2014 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use Alchemy\Phrasea\Application;
class patch_384alpha5a implements patchInterface
{
/** @var string */
private $release = '3.8.4-alpha.5';
/** @var array */
private $concern = array(base::DATA_BOX);
/**
* {@inheritdoc}
*/
public function get_release()
{
return $this->release;
}
/**
* {@inheritdoc}
*/
public function require_all_upgrades()
{
return false;
}
/**
* {@inheritdoc}
*/
public function concern()
{
return $this->concern;
}
/**
* {@inheritdoc}
*/
public function apply(base $databox, Application $app)
{
$sql = "UPDATE log_docs SET `action`='mail' WHERE `action`='download' AND LOCATE('@', comment)";
$stmt = $databox->get_connection()->prepare($sql);
$stmt->execute();
return true;
}
}

View File

@@ -773,12 +773,7 @@ class set_export extends set_abstract
$tmplog = array(); $tmplog = array();
$files = $list['files']; $files = $list['files'];
$event_names = array( $event_name = in_array($type, array(Session_Logger::EVENT_EXPORTMAIL,Session_Logger::EVENT_EXPORTDOWNLOAD)) ? $type : Session_Logger::EVENT_EXPORTDOWNLOAD;
'mail-export' => Session_Logger::EVENT_EXPORTMAIL,
'download' => Session_Logger::EVENT_EXPORTDOWNLOAD
);
$event_name = isset($event_names[$type]) ? $event_names[$type] : Session_Logger::EVENT_EXPORTDOWNLOAD;
foreach ($files as $record) { foreach ($files as $record) {
foreach ($record["subdefs"] as $o => $obj) { foreach ($record["subdefs"] as $o => $obj) {
@@ -786,8 +781,7 @@ class set_export extends set_abstract
$record_object = new record_adapter($app, $sbas_id, $record['record_id']); $record_object = new record_adapter($app, $sbas_id, $record['record_id']);
$app['phraseanet.logger']($record_object->get_databox()) $app['phraseanet.logger']($record_object->get_databox())->log($record_object, $event_name, $o, $comment);
->log($record_object, $event_name, $o, $comment);
if ($o != "caption") { if ($o != "caption") {
$log["rid"] = $record_object->get_record_id(); $log["rid"] = $record_object->get_record_id();
@@ -804,12 +798,6 @@ class set_export extends set_abstract
} }
} }
$export_types = array(
'download' => 0,
'mail-export' => 2,
'ftp' => 4
);
$list_base = array_unique(array_keys($tmplog)); $list_base = array_unique(array_keys($tmplog));
if (!$anonymous) { if (!$anonymous) {

View File

@@ -19,7 +19,7 @@
</div> </div>
{% elseif list['complete'] is defined and list['complete'] %} {% elseif list['complete'] is defined and list['complete'] %}
<div class="alert alert-success"> <div class="alert alert-success">
{% set url = path('document_download', {'token': token}) %} {% set url = path('document_download', {'token': token, 'type': type, 'anonymous': anonymous}) %}
{% set before_link = '<a href="' ~ url ~ '" target="_self">' %} {% set before_link = '<a href="' ~ url ~ '" target="_self">' %}
{% set after_link = '</a>' %} {% set after_link = '</a>' %}
{% trans %} {% trans %}
@@ -107,7 +107,7 @@
{% set time = time < 1 ? 2 : (time > 10 ? 10 : time) %} {% set time = time < 1 ? 2 : (time > 10 ? 10 : time) %}
{% if list['complete'] is not defined %} {# Zip not done #} {% if list['complete'] is not defined %} {# Zip not done #}
$.post("{{ path('execute_download', {'token': token}) }}", function(data){ $.post("{{ path('execute_download', {'token': token, 'type': type, 'anonymous': anonymous}) }}", function(data){
var data = $.parseJSON(data); var data = $.parseJSON(data);
if(data.success) { if(data.success) {
$('form[name=download]').submit(); $('form[name=download]').submit();