Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Impact data model #298

Merged
merged 50 commits into from
Nov 26, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
32dfdfa
fix route of poster in project dashboard
davidbeig Jun 3, 2021
ce87594
Upgraded Symfony packages to v2.8.30 (last working version)
carlos-mg89 Jun 15, 2021
076aec6
Fix call to render method since it was renamed
carlos-mg89 Jun 14, 2021
cfe7652
add composer.lock
microstudi Jun 22, 2021
d6f261c
restore a early die if misconfiguration
microstudi Jun 22, 2021
f98f26a
Merge branch 'bug/fix-upload-documentation-form' into live
javicarrillo Jun 28, 2021
f0fc93a
Updated Dockerfile to use an Ubuntu image that's not deprecated (#181)
carlos-mg89 Jun 22, 2021
49889e2
fix/composer lock (#185)
microstudi Jun 28, 2021
76e7427
Twitter card meta description fix
javicarrillo Jul 1, 2021
21edcc9
Merge branch 'hotfix-twitter-card' into live
javicarrillo Jul 1, 2021
faf6dd5
change projects to be shown in map when a matcher is selected to use …
davidbeig Jul 5, 2021
19ccc0d
Merge branch 'feature/map_matcher' into 'live'
javicarrillo Jul 5, 2021
2dd55a0
improve filters in discover and fix ajax query
davidbeig Jul 6, 2021
86a0bbf
Merge branch 'fix/discover_filter' into 'live'
javicarrillo Jul 6, 2021
f7b64e3
fix use of query parameters when they are not being used
davidbeig Jul 13, 2021
b65a48d
fix project filters in discover and use of inner joins in project get…
davidbeig Jul 13, 2021
2004434
Merge branch 'fix/discover_filter' into 'live'
javicarrillo Jul 13, 2021
8f89028
Merge branch 'fix/goteo-bot-poster' into 'live'
javicarrillo Jul 13, 2021
9d445bd
Add matcher completed status
javicarrillo Jul 15, 2021
ba6ac1b
Merge branch 'matcher-status' into live
javicarrillo Jul 15, 2021
b5e733f
Fix icons size
javicarrillo Jul 15, 2021
b832ec5
Merge branch 'matcher-status' into live
javicarrillo Jul 15, 2021
a12dfbd
creation of impact data table to be used by different models using im…
davidbeig Jul 20, 2021
dab0a49
add impact data admin module
davidbeig Jul 20, 2021
f748a4b
add impact data subtitle
davidbeig Jul 20, 2021
848e5f5
add impact data transformation model and api images endpoint
davidbeig Jul 20, 2021
4541f68
add impact data test, still failing
davidbeig Jul 21, 2021
e004e0b
add permission to role
davidbeig Jul 21, 2021
b324a55
fix on impact data tests
davidbeig Jul 22, 2021
08f8b5c
fix impact data form change description from markdown to textarea
davidbeig Jul 22, 2021
414ac62
fix on impact data layouts and forms
davidbeig Jul 26, 2021
31267fc
add missing labels
davidbeig Jul 26, 2021
fe84a79
change impact data model and add translation to model
davidbeig Aug 2, 2021
18ff8d8
add translate action to impact data transformer
davidbeig Sep 14, 2021
a1c8400
change impact data form types to Symfony Form > 3 syntax
davidbeig Sep 14, 2021
de6ba0b
rename impact data migration
davidbeig Sep 14, 2021
3ab0145
Merge branch 'live' of github.com:GoteoFoundation/goteo into feature/…
davidbeig Sep 19, 2021
737e6c9
fix compatibility of tearDownAfterClass in ImpactDataTest
davidbeig Sep 20, 2021
4df7da1
rename impact data migration to new datetime
davidbeig Sep 27, 2021
c8b164f
add removed ImpactDataController from Config
davidbeig Sep 29, 2021
1925d66
Merge branch 'live' into feature/impact_data_model
microstudi Sep 30, 2021
3af9e53
reset index
microstudi Sep 30, 2021
eedbaa1
Merge branch 'live' of github.com:GoteoFoundation/goteo into feature/…
davidbeig Nov 18, 2021
66f5757
fixes on syntax for impact data admin and config
davidbeig Nov 18, 2021
19769b3
fixes on impact data form due to symfony upgrade
davidbeig Nov 18, 2021
c7005ad
fixes on impact data form dropfiles
davidbeig Nov 18, 2021
4bcff70
improve code based on review in #298
davidbeig Nov 23, 2021
452c11e
minor improvement in syntax
davidbeig Nov 23, 2021
e3aaf4d
Merge remote-tracking branch 'origin/live' into feature/impact_data_m…
davidbeig Nov 26, 2021
c8c6076
fix typo on impact data test
davidbeig Nov 26, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Resources/permissions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,10 @@ admin-module-channel-resource: # Can access to module ChannelResourceAdminContr
model: null
relational: null

admin-module-impact_data: # Can access to module ImpactDataAdminController
model: null
relational: null

receive-test-communications: # Can receive test communications
model: null
relational: null
Expand Down
1 change: 1 addition & 0 deletions Resources/roles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ consultant:
- admin-module-promote # Can access to promote admin module
- admin-module-workshops # Can access to workshops admin module
- admin-module-channel-resource # Can access to channel resource admin module
- admin-module-impact_data # Can access to Impact Data
- full-html-edit # Affects if the user is allowed dangerous tags (iframe,...) in posts
level: 60

Expand Down
18 changes: 18 additions & 0 deletions Resources/templates/responsive/admin/impact_data/edit.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

$this->layout('admin/impact_data/layout');

$this->section('admin-container-head');

?>

<?php $this->append() ?>

<?php $this->section('admin-container-body') ?>

<?= $this->form_form($this->raw('form')) ?>

</div>
</div>

<?php $this->replace() ?>
19 changes: 19 additions & 0 deletions Resources/templates/responsive/admin/impact_data/layout.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?php

$this->layout('admin/container');

$this->section('admin-container-head');

?>
<h2><?= $this->text('admin-impact_data') ?></h2>

<?= $this->insert('admin/partials/search_box') ?>

<?= $this->supply('admin-filters-head') ?>

<?php $this->replace() ?>


<?php $this->section('footer') ?>

<?php $this->append() ?>
23 changes: 23 additions & 0 deletions Resources/templates/responsive/admin/impact_data/list.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

$this->layout('admin/impact_data/layout');

$this->section('admin-search-box-addons');

?>

<a class="btn btn-cyan" href="/admin/impactdata/add"><i class="fa fa-plus"></i> <?= $this->text('regular-add') ?></a>

<?php $this->replace() ?>


<?php $this->section('admin-container-body') ?>

<h5><?= $this->text('admin-list-total', $this->total) ?></h5>

<?= $this->insert('admin/partials/material_table', ['list' => $this->model_list_entries($this->list, ['id', 'title', 'actions'])]) ?>

</div>
</div>

<?php $this->replace() ?>
3 changes: 2 additions & 1 deletion Resources/translations/ca/admin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -288,4 +288,5 @@ admin-mail-body: 'Cos del missatge'
mandatory-filter-name: Manca el nom
mandatory-filter-description: Manca una descripció
mandatory-filter-role: Manca un rol
admin-node-iframe: Iframe
admin-node-iframe: Iframe
admin-impact_data: "Dades d'impacte"
3 changes: 3 additions & 0 deletions Resources/translations/ca/general.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ regular-collaborate: Col·labora
regular-content: Contingut
regular-continue-question: 'Continuar?'
regular-create: 'Crea un projecte'
regular-data: 'Dada'
regular-data-unit: 'Unitat'
regular-date: Data
regular-date_in: Data d'entrada
regular-date_out: Data de sortida
Expand Down Expand Up @@ -180,6 +182,7 @@ regular-status: Estat
regular-template: Plantilla
regular-thanks: Gràcies
regular-title: Títol
regular-subtitle: Subtítol
regular-text: Text
regular-media: Vídeo (Youtube, Vimeo)
regular-total: Total
Expand Down
1 change: 1 addition & 0 deletions Resources/translations/ca/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ faq-lb-edit: 'Editant Pregunta'
faq-lb-translate: 'Tradunt Pregunta'
filter-lb: 'Filtres'
glossary-lb: Glossari
impactdata-lb: "Dades d'impacte"
newsletter-lb-list: 'Estat de l''enviament automàtic'
nodes-lb: Canals
projects-lb: Projectes
Expand Down
2 changes: 2 additions & 0 deletions Resources/translations/ca/translator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ translator-deleted-ok: 'Traducció al %s esborrada correctament'
translator-feed-translated-desc: '%LINK% traduït por %USER% a %LANGS%'
translator-feed-translated-target: 'Traducció en %s'
translator-field-content: Contingut
translator-field-data: 'Dada'
translator-field-data_unit: 'Unitat'
translator-field-description: Descripció
translator-field-facebook_msg: 'Missatge de facebook'
translator-field-legend: Llegenda
Expand Down
1 change: 1 addition & 0 deletions Resources/translations/en/admin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -528,3 +528,4 @@ mandatory-filter-role: Missing role
admin-node-iframe: Iframe
admin-certificates: Certificates
admin-certificates-management: Certificates Management
admin-impact_data: "Impact Data"
3 changes: 3 additions & 0 deletions Resources/translations/en/general.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ regular-content: Content
regular-continue-question: 'Continue?'
regular-continue: 'Continue'
regular-create: 'Create a project'
regular-data: 'Data'
regular-data-unit: 'Unit'
regular-date: Date
regular-date_in: Entry Date
regular-date_out: Release Date
Expand Down Expand Up @@ -185,6 +187,7 @@ regular-status: Status
regular-template: Template
regular-thanks: Thank you
regular-title: Title
regular-subtitle: Subtitle
regular-text: Text
regular-media: Video (Youtube, Vimeo)
regular-total: Total
Expand Down
1 change: 1 addition & 0 deletions Resources/translations/en/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ icons-lb: 'Types of Return'
icons-lb-edit: 'Editing Type'
icons-lb-list: Listing
icons-lb-translate: 'Translating Type'
impactdata-lb: "Impact data"
info-lb: 'About ideas'
info-lb-add: 'Creating Idea'
info-lb-edit: 'Editing Idea'
Expand Down
2 changes: 2 additions & 0 deletions Resources/translations/en/translator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ translator-deleted-ok: '%s translation deleted successfully'
translator-feed-translated-desc: '%LINK% translated by %USER% to %LANGS%'
translator-feed-translated-target: 'Translation in %s'
translator-field-content: Content
translator-field-data: 'Data'
translator-field-data_unit: 'Unit'
translator-field-description: Description
translator-field-facebook_msg: 'Facebook message'
translator-field-facebook_msg_owner: 'Facebook author'
Expand Down
2 changes: 1 addition & 1 deletion Resources/translations/es/admin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -595,4 +595,4 @@ admin-channel-resource: 'Recursos Canal'
admin-channel-resource-add: 'Crear recurso'

admin-posts: 'Posts'

admin-impact_data: "Datos de impacto"
3 changes: 3 additions & 0 deletions Resources/translations/es/general.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ regular-content: Contenido
regular-continue-question: '¿Continuar?'
regular-continue: 'Continuar'
regular-create: 'Crea un proyecto'
regular-data: 'Dato'
regular-data-unit: 'Unidad'
regular-date: Fecha
regular-date_in: Fecha entrada
regular-date_out: Fecha salida
Expand Down Expand Up @@ -195,6 +197,7 @@ regular-status: Estado
regular-template: Plantilla
regular-thanks: Gracias
regular-title: Título
regular-subtitle: Subtítulo
regular-text: Texto
regular-media: Vídeo (Youtube, Vimeo)
regular-total: Total aportes
Expand Down
1 change: 1 addition & 0 deletions Resources/translations/es/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ icons-lb: 'Tipos de Retorno'
icons-lb-edit: 'Editando Tipo'
icons-lb-list: Listando
icons-lb-translate: 'Traduciendo Tipo'
impactdata-lb: "Datos de impacto"
info-lb: 'Ideas about'
info-lb-add: 'Creando Idea'
info-lb-edit: 'Editando Idea'
Expand Down
2 changes: 2 additions & 0 deletions Resources/translations/es/translator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ translator-feed-translated-desc: '%LINK% traducido por %USER% a %LANGS%'
translator-feed-translated-target: 'Traducción en %s'
translator-field-blog: Blog
translator-field-content: Contenido
translator-field-data: 'Dato'
translator-field-data_unit: 'Unidad'
translator-field-description: Descripción
translator-field-facebook_msg: 'Mensaje de facebook'
translator-field-facebook_msg_owner: 'Autor de facebook'
Expand Down
35 changes: 19 additions & 16 deletions src/Goteo/Application/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
use Goteo\Controller\Admin\GlossarySubController;
use Goteo\Controller\Admin\HomeSubController;
use Goteo\Controller\Admin\IconsSubController;
use Goteo\Controller\Admin\ImpactDataAdminController;
use Goteo\Controller\Admin\LicensesSubController;
use Goteo\Controller\Admin\MailingSubController;
use Goteo\Controller\Admin\MilestonesSubController;
Expand Down Expand Up @@ -157,22 +158,23 @@ static public function load($config_file) {

// Add model zones for the translator
TranslateController::addTranslateModel('criteria');
TranslateController::addTranslateModel('sphere');
TranslateController::addTranslateModel('communication');
TranslateController::addTranslateModel('call_to_action');
TranslateController::addTranslateModel('node');
TranslateController::addTranslateModel('node_program');
TranslateController::addTranslateModel('node_faq');
TranslateController::addTranslateModel('node_faq_question');
TranslateController::addTranslateModel('node_faq_download');
TranslateController::addTranslateModel('node_sponsor');
TranslateController::addTranslateModel('node_team');
TranslateController::addTranslateModel('node_resource');
TranslateController::addTranslateModel('node_resource_category');
TranslateController::addTranslateModel('image_credits');
TranslateController::addTranslateModel('node_sections');
TranslateController::addTranslateModel('question');
TranslateController::addTranslateModel('question_options');
TranslateController::addTranslateModel('sphere');
TranslateController::addTranslateModel('communication');
TranslateController::addTranslateModel('call_to_action');
TranslateController::addTranslateModel('node');
TranslateController::addTranslateModel('node_program');
TranslateController::addTranslateModel('node_faq');
TranslateController::addTranslateModel('node_faq_question');
TranslateController::addTranslateModel('node_faq_download');
TranslateController::addTranslateModel('node_sponsor');
TranslateController::addTranslateModel('node_team');
TranslateController::addTranslateModel('node_resource');
TranslateController::addTranslateModel('node_resource_category');
TranslateController::addTranslateModel('image_credits');
TranslateController::addTranslateModel('node_sections');
TranslateController::addTranslateModel('question');
TranslateController::addTranslateModel('question_options');
TranslateController::addTranslateModel('impact_data');

// sets up the rest...
self::setDirConfiguration();
Expand Down Expand Up @@ -336,6 +338,7 @@ static public function addAdminControllers()
AdminController::addSubController(ChannelPostsAdminController::class);
AdminController::addSubController(ChannelSectionAdminController::class);
AdminController::addSubController(ChannelStoryAdminController::class);
AdminController::addSubController(ImpactDataAdminController::class);
}

static public function addLegacyAdminControllers()
Expand Down
110 changes: 110 additions & 0 deletions src/Goteo/Controller/Admin/ImpactDataAdminController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<?php
/*
* This file is part of the Goteo Package.
*
* (c) Platoniq y Fundación Goteo <fundacion@goteo.org>
*
* For the full copyright and license information, please view the README.md
* and LICENSE files that was distributed with this source code.
*/

namespace Goteo\Controller\Admin;

use Goteo\Application\Exception\ModelNotFoundException;
use Goteo\Application\Message;
use Goteo\Library\Text;
use Goteo\Library\Forms\Model\ImpactDataForm;
use Goteo\Model\ImpactData;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Route;

class ImpactDataAdminController extends AbstractAdminController
{
protected static $icon = '<i class="fa fa-2x fa-table"></i>';
carlos-mg89 marked this conversation as resolved.
Show resolved Hide resolved

public static function getGroup(): string {
return 'communications';
}

public static function getRoutes()
{
return [
new Route(
'/',
['_controller' => __CLASS__ . "::listAction"]
),
new Route(
'/edit/{id}',
['_controller' => __CLASS__ . "::editAction"]
),
new Route(
'/add',
['_controller' => __CLASS__ . "::editAction"]
),
new Route(
'/delete/{id}',
['_controller' => __CLASS__ . "::deleteAction"]
)
];
}

public function listAction(Request $request)
{
$page = $request->query->get('pag') ?: 0;
$limit = 10;
$list = ImpactData::getList([], $page * $limit, $limit, false);
$total = ImpactData::getList([], 0, 0, true);

return $this->viewResponse('admin/impact_data/list',[
'list' => $list,
'total' => $total
]);
}

public function editAction(Request $request, $id = '')
{
try {
$impact_data = $id ? ImpactData::get($id) : new ImpactData();
} catch (ModelNotFoundException $e) {
Message::error($e->getMessage());
return $this->redirect('/admin/impactdata');
}

$defaults = (array) $impact_data;
$processor = $this->getModelForm(ImpactDataForm::class, $impact_data, $defaults, Array(), $request);
$processor->createForm();
$form = $processor->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $request->isMethod('post')) {
try {
$processor->save($form); // Allow save event if does not validate
Message::info(Text::get('admin-' . ($id ? 'edit' : 'add') . '-entry-ok'));
return $this->redirect("/admin/impactdata/" . $request->getQueryString());
} catch (FormModelException $e) {
Message::error($e->getMessage());
}
}

return $this->viewResponse('admin/impact_data/edit',[
'form' => $form->createView()
]);

}

public function deleteAction(Request $request, $id) {

try {
$impact_data = ImpactData::get($id);
$impact_data->dbDelete();
Message::info(Text::get('admin-remove-entry-ok'));
} catch (ModelNotFoundException $e) {
Message::error($e->getMessage());
} catch (\PDOException $e) {
Message::error($e->getMessage());
}

return $this->redirect('/admin/impactdata/');
}


}
Loading