Commit f6d8eb1a authored by Alex Felippe Chiozo's avatar Alex Felippe Chiozo
Browse files

torna Cultura Comunitária a área de atuação padrão

parent 1a5b4558
Pipeline #11972 failed with stages
in 1 minute and 41 seconds
......@@ -5,7 +5,7 @@ return [
'app.siteName' => env('SITE_NAME', 'Mapa IberCultura Viva'),
'app.siteDescription' => \MapasCulturais\i::__("O Mapa IberCultura Viva é a plataforma livre, gratuita e colaborativa de mapeamento do programa de cooperação IberCultura Viva. Neste espaço, representantes de organizações culturais comunitárias e povos originários podem se registrar como agentes culturais, difundir eventos, cadastrar projetos e inscrever-se nos editais e concursos publicados.<br/><br/>
A informação coletada pelo Mapa IberCultura Viva será utilizada para a construção/consolidação de indicadores culturais que fortalecerão os sistemas de informação cultural dos países membros do programa (Argentina, Brasil, Chile, Costa Rica, El Salvador, Equador, Espanha, Guatemala, México, Peru e Uruguai)."),
'app.defaultActivity' => env('DEFAULT_ACTIVITY', \MapasCulturais\i::__('Cultura Comunitária')),
'themes.active' => env('ACTIVE_THEME', 'IberCulturaViva'),
'app.lcode' => env('APP_LCODE', 'es_ES,pt_BR'),
......
......@@ -56,6 +56,16 @@ class Theme extends BaseV1\Theme{
$headers['Content-Disposition'] = str_replace('attachment; ', '', $headers['Content-Disposition']);
}
});
// atribui área de atuação padrão para novos agentes e espaços
$app->hook("entity(<<Agent|Space>>).insert:before", function () use ($app) {
/** @var \MapasCulturais\Entity $this */
$terms = (array) $this->terms ?? [];
if (empty($this->terms["area"])) {
$terms["area"] = [$app->config["app.defaultActivity"]];
$this->terms = $terms;
}
return;
});
}
function includeVendorAssets()
......@@ -88,7 +98,7 @@ class Theme extends BaseV1\Theme{
parent::register();
$app = App::i();
// Metadata de espaço
$this->registerSpaceMetadata('En_Pais', [
'label' => i::__('País'),
......
......@@ -6,10 +6,10 @@ $conn = $em->getConnection();
return [
'update registrations set category = owner.pais' => function() use($conn){
$sql = "UPDATE registration r SET category = (
SELECT m.value
FROM agent a
JOIN agent_meta m ON
a.id = m.object_id AND
SELECT m.value
FROM agent a
JOIN agent_meta m ON
a.id = m.object_id AND
m.key = 'En_Pais'
WHERE a.id = r.agent_id
) WHERE r.opportunity_id = 17";
......@@ -49,8 +49,35 @@ return [
$conn->executeQuery("UPDATE opportunity SET registration_categories = '$paises' WHERE id = 17");
$conn->executeQuery("UPDATE opportunity_meta SET value = 'País' WHERE object_id = 17 AND key = 'registrationCategTitle'");
$conn->executeQuery("UPDATE opportunity_meta SET value = 'Seleccione un país' WHERE object_id = 17 AND key = 'registrationCategDescription'");
return false;
}
},
"apply default activity to agents" => function () use ($app, $conn) {
$ids = $conn->executeQuery("SELECT id FROM agent WHERE id NOT IN (
SELECT a.id FROM agent a
JOIN term_relation tr ON a.id=tr.object_id AND tr.object_type='MapasCulturais\\Entities\\Agent'
JOIN term t ON tr.term_id=t.id AND t.taxonomy='area')")->fetchAll();
foreach ($ids as $id) {
$entity = $app->repo("Agent")->find($id);
$terms = $entity->terms ?? [];
$terms["area"] = [$app->config["app.defaultActivity"]];
$entity->save(true);
$app->em->clear();
}
return true;
},
"apply default activity to spaces" => function () use ($app, $conn) {
$ids = $conn->executeQuery("SELECT id FROM space WHERE id NOT IN (
SELECT s.id FROM space s
JOIN term_relation tr ON s.id=tr.object_id AND tr.object_type='MapasCulturais\\Entities\\Space'
JOIN term t ON tr.term_id=t.id AND t.taxonomy='area')")->fetchAll();
foreach ($ids as $id) {
$entity = $app->repo("Space")->find($id);
$terms = $entity->terms ?? [];
$terms["area"] = [$app->config["app.defaultActivity"]];
$entity->save(true);
$app->em->clear();
}
return true;
},
];
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment