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]);
|
||||
|
||||
$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
|
||||
(
|
||||
|
@ -12,6 +12,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use models\utils\IEntity;
|
||||
use ModelSerializers\SerializerRegistry;
|
||||
/**
|
||||
@ -109,7 +111,10 @@ final class PagingResponse
|
||||
{
|
||||
if($i instanceof IEntity)
|
||||
{
|
||||
$start = microtime(true);
|
||||
$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;
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
**/
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Libs\ModelSerializers\AbstractSerializer;
|
||||
use models\main\Member;
|
||||
use models\summit\Presentation;
|
||||
/**
|
||||
* Class AdminPresentationCSVSerializer
|
||||
@ -34,8 +35,8 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
||||
if(!$presentation instanceof Presentation) return $values;
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
@ -66,6 +67,7 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
||||
$values['speaker_titles'] = "";
|
||||
$values['speaker_companies'] = "";
|
||||
|
||||
|
||||
if($presentation->getSpeakers()->count() > 0){
|
||||
|
||||
$speaker_ids = [];
|
||||
@ -109,6 +111,7 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(isset($values['description'])){
|
||||
$values['description'] = strip_tags($values['description']);
|
||||
}
|
||||
@ -117,6 +120,7 @@ final class AdminPresentationCSVSerializer extends AdminPresentationSerializer
|
||||
}
|
||||
|
||||
// add video column
|
||||
|
||||
$values['video'] = '';
|
||||
$values['public_video'] = '';
|
||||
|
||||
|
@ -33,9 +33,11 @@ class AdminSummitEventCSVSerializer extends SummitEventSerializer
|
||||
if(isset($values['description'])){
|
||||
$values['description'] = strip_tags($values['description']);
|
||||
}
|
||||
|
||||
if($summit_event->hasCategory()){
|
||||
$values['track'] = $summit_event->getCategory()->getTitle();
|
||||
}
|
||||
|
||||
return $values;
|
||||
}
|
||||
}
|
@ -14,6 +14,7 @@
|
||||
|
||||
use App\Facades\ResourceServerContext;
|
||||
use Libs\ModelSerializers\AbstractSerializer;
|
||||
use models\main\Member;
|
||||
use models\summit\SummitEvent;
|
||||
|
||||
/**
|
||||
@ -104,7 +105,8 @@ class SummitEventSerializer extends SilverStripeSerializer
|
||||
* @param array $params
|
||||
* @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;
|
||||
if (!$event instanceof SummitEvent) return [];
|
||||
@ -146,7 +148,7 @@ class SummitEventSerializer extends SilverStripeSerializer
|
||||
$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['etherpad_link'] = $event->getEtherpadLink();
|
||||
}
|
||||
|
@ -50,18 +50,6 @@ abstract class BrowserKitTestCase extends BaseTestCase
|
||||
{
|
||||
Model::unguard();
|
||||
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" => 'model']);
|
||||
//Mail::pretend(true);
|
||||
|
@ -490,7 +490,7 @@ final class OAuth2SummitEventsApiTest extends ProtectedApiTest
|
||||
{
|
||||
$params = array
|
||||
(
|
||||
'id' => self::$summit->getId(),
|
||||
'id' => 31,
|
||||
//'expand' => 'feedback',
|
||||
/*'filter' => [
|
||||
'published==1'
|
||||
|
Loading…
x
Reference in New Issue
Block a user