Activities CSV
Fix performance issue Change-Id: I4e10c9cb6244975b58316ef58b71d9e5e889e329 Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
parent
38227cd844
commit
954e445fda
@ -141,7 +141,15 @@ final class OAuth2SummitEventsApiController extends OAuth2ProtectedController
|
|||||||
$response = $strategy->getEvents(['summit_id' => $summit_id]);
|
$response = $strategy->getEvents(['summit_id' => $summit_id]);
|
||||||
|
|
||||||
$filename = "activities-" . date('Ymd');
|
$filename = "activities-" . date('Ymd');
|
||||||
$list = $response->toArray(null, [], ['none'],[],SerializerRegistry::SerializerType_CSV);
|
$list = $response->toArray(
|
||||||
|
null,
|
||||||
|
[],
|
||||||
|
['none'],
|
||||||
|
[
|
||||||
|
'current_user' => $this->resource_server_context->getCurrentUser(true)
|
||||||
|
],
|
||||||
|
SerializerRegistry::SerializerType_CSV
|
||||||
|
);
|
||||||
|
|
||||||
return $this->export
|
return $this->export
|
||||||
(
|
(
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use models\utils\IEntity;
|
use models\utils\IEntity;
|
||||||
use ModelSerializers\SerializerRegistry;
|
use ModelSerializers\SerializerRegistry;
|
||||||
/**
|
/**
|
||||||
@ -109,7 +111,10 @@ final class PagingResponse
|
|||||||
{
|
{
|
||||||
if($i instanceof IEntity)
|
if($i instanceof IEntity)
|
||||||
{
|
{
|
||||||
|
$start = microtime(true);
|
||||||
$i = SerializerRegistry::getInstance()->getSerializer($i, $serializer_type)->serialize($expand, $fields, $relations, $params);
|
$i = SerializerRegistry::getInstance()->getSerializer($i, $serializer_type)->serialize($expand, $fields, $relations, $params);
|
||||||
|
$end = microtime(true);
|
||||||
|
Log::debug(sprintf("PagingResponse::toArray serialization delta %s", $end - $start));
|
||||||
}
|
}
|
||||||
$items[] = $i;
|
$items[] = $i;
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
**/
|
**/
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use Libs\ModelSerializers\AbstractSerializer;
|
use Libs\ModelSerializers\AbstractSerializer;
|
||||||
|
use models\main\Member;
|
||||||
use models\summit\Presentation;
|
use models\summit\Presentation;
|
||||||
/**
|
/**
|
||||||
* Class AdminPresentationCSVSerializer
|
* Class AdminPresentationCSVSerializer
|
||||||
@ -34,8 +35,8 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
|||||||
if(!$presentation instanceof Presentation) return $values;
|
if(!$presentation instanceof Presentation) return $values;
|
||||||
|
|
||||||
$serializerType = SerializerRegistry::SerializerType_Public;
|
$serializerType = SerializerRegistry::SerializerType_Public;
|
||||||
$currentUser = $this->resource_server_context->getCurrentUser();
|
|
||||||
if(!is_null($currentUser) && $currentUser->isAdmin()){
|
if(isset($params['current_user']) && $params['current_user'] instanceof Member && $params['current_user']->isAdmin()){
|
||||||
$serializerType = SerializerRegistry::SerializerType_Private;
|
$serializerType = SerializerRegistry::SerializerType_Private;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,6 +67,7 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
|||||||
$values['speaker_titles'] = "";
|
$values['speaker_titles'] = "";
|
||||||
$values['speaker_companies'] = "";
|
$values['speaker_companies'] = "";
|
||||||
|
|
||||||
|
|
||||||
if($presentation->getSpeakers()->count() > 0){
|
if($presentation->getSpeakers()->count() > 0){
|
||||||
|
|
||||||
$speaker_ids = [];
|
$speaker_ids = [];
|
||||||
@ -109,6 +111,7 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(isset($values['description'])){
|
if(isset($values['description'])){
|
||||||
$values['description'] = strip_tags($values['description']);
|
$values['description'] = strip_tags($values['description']);
|
||||||
}
|
}
|
||||||
@ -117,6 +120,7 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
|||||||
}
|
}
|
||||||
|
|
||||||
// add video column
|
// add video column
|
||||||
|
|
||||||
$values['video'] = '';
|
$values['video'] = '';
|
||||||
$values['public_video'] = '';
|
$values['public_video'] = '';
|
||||||
|
|
||||||
|
@ -33,9 +33,11 @@ class AdminSummitEventCSVSerializer extends SummitEventSerializer
|
|||||||
if(isset($values['description'])){
|
if(isset($values['description'])){
|
||||||
$values['description'] = strip_tags($values['description']);
|
$values['description'] = strip_tags($values['description']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($summit_event->hasCategory()){
|
if($summit_event->hasCategory()){
|
||||||
$values['track'] = $summit_event->getCategory()->getTitle();
|
$values['track'] = $summit_event->getCategory()->getTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $values;
|
return $values;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
use App\Facades\ResourceServerContext;
|
use App\Facades\ResourceServerContext;
|
||||||
use Libs\ModelSerializers\AbstractSerializer;
|
use Libs\ModelSerializers\AbstractSerializer;
|
||||||
|
use models\main\Member;
|
||||||
use models\summit\SummitEvent;
|
use models\summit\SummitEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -104,7 +105,8 @@ class SummitEventSerializer extends SilverStripeSerializer
|
|||||||
* @param array $params
|
* @param array $params
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function serialize($expand = null, array $fields = array(), array $relations = array(), array $params = array())
|
public function serialize(
|
||||||
|
$expand = null, array $fields = array(), array $relations = array(), array $params = array())
|
||||||
{
|
{
|
||||||
$event = $this->object;
|
$event = $this->object;
|
||||||
if (!$event instanceof SummitEvent) return [];
|
if (!$event instanceof SummitEvent) return [];
|
||||||
@ -146,7 +148,7 @@ class SummitEventSerializer extends SilverStripeSerializer
|
|||||||
$values['current_attendance'] = $attendance;
|
$values['current_attendance'] = $attendance;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($event->hasAccess(ResourceServerContext::getCurrentUser())) {
|
if (isset($params['current_user']) && $params['current_user'] instanceof Member && $event->hasAccess($params['current_user'])) {
|
||||||
$values['streaming_url'] = $event->getStreamingUrl();
|
$values['streaming_url'] = $event->getStreamingUrl();
|
||||||
$values['etherpad_link'] = $event->getEtherpadLink();
|
$values['etherpad_link'] = $event->getEtherpadLink();
|
||||||
}
|
}
|
||||||
|
@ -50,18 +50,6 @@ abstract class BrowserKitTestCase extends BaseTestCase
|
|||||||
{
|
{
|
||||||
Model::unguard();
|
Model::unguard();
|
||||||
DB::setDefaultConnection("model");
|
DB::setDefaultConnection("model");
|
||||||
DB::table('Group_Members')->delete();
|
|
||||||
DB::table('Member')->delete();
|
|
||||||
DB::table('Group')->delete();
|
|
||||||
|
|
||||||
DB::table('Summit')->delete();
|
|
||||||
DB::table('SummitEventType')->delete();
|
|
||||||
DB::table('PresentationType')->delete();
|
|
||||||
DB::table('SummitAbstractLocation')->delete();
|
|
||||||
DB::table('SummitGeoLocatedLocation')->delete();
|
|
||||||
DB::table('SummitVenue')->delete();
|
|
||||||
DB::table('PresentationTrackChairView')->delete();
|
|
||||||
|
|
||||||
Artisan::call('doctrine:migrations:migrate', ["--connection" => 'config']);
|
Artisan::call('doctrine:migrations:migrate', ["--connection" => 'config']);
|
||||||
Artisan::call('doctrine:migrations:migrate', ["--connection" => 'model']);
|
Artisan::call('doctrine:migrations:migrate', ["--connection" => 'model']);
|
||||||
//Mail::pretend(true);
|
//Mail::pretend(true);
|
||||||
|
@ -490,7 +490,7 @@ final class OAuth2SummitEventsApiTest extends ProtectedApiTest
|
|||||||
{
|
{
|
||||||
$params = array
|
$params = array
|
||||||
(
|
(
|
||||||
'id' => self::$summit->getId(),
|
'id' => 31,
|
||||||
//'expand' => 'feedback',
|
//'expand' => 'feedback',
|
||||||
/*'filter' => [
|
/*'filter' => [
|
||||||
'published==1'
|
'published==1'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user