Skip to content

Commit

Permalink
Merge pull request #4381 from portabilis/comunidade-patch-2018-10-26
Browse files Browse the repository at this point in the history
Comunidade patch 26/10/2018
  • Loading branch information
MatheusNicoski committed Oct 26, 2018
2 parents 81b888d + a141de5 commit 4ec676f
Show file tree
Hide file tree
Showing 25 changed files with 606 additions and 1,057 deletions.
15 changes: 14 additions & 1 deletion .gitignore
@@ -1,5 +1,19 @@
# IDE Files
## PHPStorm InteliJ
*.idea

## Visual Studio
*.vscode

## Eclipse
.buildpath
.project
.settings

## Vi
*~
*.swp

# Vagrant
/.gitkeep
/.vagrant
Expand All @@ -9,7 +23,6 @@
Vagrantfile
deploy/.ruby-version
ieducar/configuration/ieducar.ini
*.vscode
ieducar/modules/Reports
ieducar/vendor
ieducar/intranet/filaunica
Expand Down
23 changes: 12 additions & 11 deletions .scrutinizer.yml
Expand Up @@ -15,7 +15,6 @@ checks:
code_rating: true

tools:
external_code_coverage: true
php_analyzer: true
php_changetracking: true
php_code_sniffer:
Expand All @@ -27,13 +26,15 @@ tools:
sensiolabs_security_checker: true

build:
environment:
postgresql: true

dependencies:
after:
- psql -c "CREATE DATABASE ieducar_test WITH OWNER = scrutinizer ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' TEMPLATE template0"
- cp phinx.php.scrutinizer phinx.php
- ieducar/vendor/bin/phinx seed:run -s StartingSeed -s StartingForeignKeysSeed
- ieducar/vendor/bin/phinx migrate

environment:
postgresql: true
dependencies:
before:
- psql -c "CREATE DATABASE ieducar_test WITH OWNER = scrutinizer ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' TEMPLATE template0"
after:
- cp phinx.php.scrutinizer phinx.php
- ieducar/vendor/bin/phinx seed:run -s StartingSeed -s StartingForeignKeysSeed
- ieducar/vendor/bin/phinx migrate
tests:
override:
command: "true"
3 changes: 2 additions & 1 deletion .travis.yml
Expand Up @@ -33,8 +33,9 @@ matrix:
- ieducar/vendor/bin/phinx seed:run -s StartingSeed -s StartingForeignKeysSeed
- ieducar/vendor/bin/phinx migrate
- sed -i -e '/<log type="coverage-html.*UTF-8"\/>/g' ieducar/phpunit.xml
- sed -i -e 's/CORE_EXT_CONFIGURATION_ENV" value="testing/CORE_EXT_CONFIGURATION_ENV" value="travis/g' ieducar/phpunit.xml
- sed -i -e 's/API_URI" value="http:\/\/localhost/API_URI" value="http:\/\/localhost:8000/g' ieducar/phpunit.xml
- CORE_EXT_CONFIGURATION_ENV=testing php -S localhost:8000 -t ieducar/ &
- CORE_EXT_CONFIGURATION_ENV=travis php -S localhost:8000 -t ieducar/ &
script:
- composer test
after_success:
Expand Down
79 changes: 60 additions & 19 deletions README.md
@@ -1,4 +1,4 @@
[![Latest Release](https://img.shields.io/github/release/portabilis/i-educar.svg?label=latest%20release)](https://github.com/portabilis/i-educar/releases) ![](https://scrutinizer-ci.com/g/portabilis/i-educar/badges/quality-score.png?b=master) ![](https://scrutinizer-ci.com/g/portabilis/i-educar/badges/coverage.png?b=master) ![](https://scrutinizer-ci.com/g/portabilis/i-educar/badges/build.png?b=master) ![](https://scrutinizer-ci.com/g/portabilis/i-educar/badges/code-intelligence.svg?b=master)
[![Latest Release](https://img.shields.io/github/release/portabilis/i-educar.svg?label=latest%20release)](https://github.com/portabilis/i-educar/releases) ![](https://scrutinizer-ci.com/g/portabilis/i-educar/badges/quality-score.png?b=master) ![](https://scrutinizer-ci.com/g/portabilis/i-educar/badges/build.png?b=master) ![](https://scrutinizer-ci.com/g/portabilis/i-educar/badges/code-intelligence.svg?b=master)
[![Coverage Status](https://coveralls.io/repos/github/portabilis/i-educar/badge.svg?branch=master)](https://coveralls.io/github/portabilis/i-educar?branch=master)

# i-Educar
Expand Down Expand Up @@ -96,12 +96,12 @@ Depois de ter o Docker e git instalados faça o clone deste repositório e execu
o Docker Compose para criar os containers da aplicação:

```terminal
$ git clone https://github.com/portabilis/i-educar.git i-educar
$ cd i-educar
$ cp .env.example .env
$ cp ieducar/configuration/ieducar.ini.sample ieducar/configuration/ieducar.ini
$ cp phinx.php.sample phinx.php
$ docker-compose up -d
git clone https://github.com/portabilis/i-educar.git i-educar
cd i-educar
cp .env.example .env
cp ieducar/configuration/ieducar.ini.sample ieducar/configuration/ieducar.ini
cp phinx.php.sample phinx.php
docker-compose up -d
```

Depois disto faça as alterações necessárias nos arquivos de configuração:
Expand All @@ -118,22 +118,44 @@ com o i-Educar. Execute o seguinte comando a partir da pasta onde o i-Educar foi
clonado em sua máquina:

```terminal
$ git clone https://github.com/portabilis/i-educar-reports-package.git ieducar/modules/Reports
git clone https://github.com/portabilis/i-educar-reports-package.git ieducar/modules/Reports
```

P.S.: Esses relatórios são legados e podem não funcionar. Em breve vamos lançar
um pacote de mais de 40 relatórios funcionais.
Altere também o arquivo `phinx.php`, para adicionar as migrations dos relatórios:

```php
...

$configuration = array(
"paths" => array(
"migrations" => array(
"ieducar/misc/database/migrations",
"ieducar/modules/Reports/database/migrations", // <<<<< ADICIONAR ESTA LINHA
),
"seeds" => array(
"ieducar/misc/database/seeds",
"ieducar/modules/Reports/database/seeds", // <<<<< ADICIONAR ESTA LINHA
),
),
"environments" => $environments,
);

...
```

### Instalando outras dependências

O i-Educar usa o [Composer](https://getcomposer.org/) para gerenciar suas
dependências. O Composer já é executado automaticamente para quem utilizar
docker-compose, basta executar o comando `docker-compose up`.
dependências. Para instalar, execute o comando:

```bash
docker run -it -v $(pwd):/app composer install --ignore-platform-reqs
```

Caso queira adicionar novas dependências ao projeto ou rodar algum outro
comando do composer, execute da seguinte forma na raiz do projeto:

```bash
```terminal
docker run -it -v $(pwd):/app composer <seu_comando_aqui>
```

Expand All @@ -159,22 +181,41 @@ modifique a chave `host` para `localhost` e `port` para `5434`.
Depois de ter feito a configuração do Phinx, basta rodar os seguintes comandos:

```terminal
$ docker-compose exec ieducar_1604 ieducar/vendor/bin/phinx seed:run -s StartingSeed -s StartingForeignKeysSeed
$ docker-compose exec ieducar_1604 ieducar/vendor/bin/phinx migrate
docker-compose exec ieducar_1604 ieducar/vendor/bin/phinx seed:run -s StartingSeed -s StartingForeignKeysSeed
docker-compose exec ieducar_1604 ieducar/vendor/bin/phinx migrate
```

Este comando irá executar a criação de tabelas e inserção de dados iniciais
para utilização do i-Educar.

#### Inicializando o banco de dados dos relatórios

Os relatórios também possuem sua seed inicial para o banco de dados e as migrations que são individuais por cada relatório.

Execute os seguintes comandos:

```terminal
docker-compose exec ieducar_1604 ieducar/vendor/bin/phinx seed:run -s StartingReportsSeed
docker-compose exec ieducar_1604 ieducar/vendor/bin/phinx migrate
```

### Configurando permissões

Para que tudo funcione adequadamente, principalmente a parte de relatórios, é
necessário definir algumas permissões especiais em pastas e arquivos. Use os
comandos abaixo:

```terminal
$ docker-compose exec ieducar_1604 chmod +x ieducar/vendor/portabilis/jasperphp/src/JasperStarter/bin/jasperstarter
$ docker-compose exec ieducar_1604 chmod 777 -R ieducar/modules/Reports/ReportSources/Portabilis
docker-compose exec ieducar_1604 chmod +x ieducar/vendor/cossou/jasperphp/src/JasperStarter/bin/jasperstarter
docker-compose exec ieducar_1604 chmod 777 -R ieducar/modules/Reports/ReportSources/
```

### Compilando arquivos do JasperReports

```terminal
docker-compose exec ieducar_1604 bash
cd ieducar/modules/Reports/ReportSources
for line in $(ls -a | sort | grep .jrxml | sed -e "s/\.jrxml//"); do $(../../../vendor/cossou/jasperphp/src/JasperStarter/bin/jasperstarter cp $line.jrxml -o $line); done
```

### Primeiro acesso
Expand All @@ -200,7 +241,7 @@ conforme orientações da sua IDE de desenvolvimento.
Para ambiente de desenvolvimento edite o arquivo ieducar/phpunit.xml e removaou
comente a linha que segue:
```xml
<log type="coverage-clover" target="./tests/log/clover.xml"/>
<log type="coverage-clover" target="./tests/log/clover.xml"/>
```

Esta linha acima é apenas para gerar o xml de coverage para a badge do
Expand All @@ -211,7 +252,7 @@ projeto.

Para rodar os testes, execute o comando que segue:

```bash
```terminal
docker-compose exec ieducar_1604 ieducar/vendor/bin/phpunit -c /home/portabilis/ieducar/ieducar/phpunit.xml
```

Expand Down
2 changes: 1 addition & 1 deletion composer.json
Expand Up @@ -38,7 +38,7 @@
}
},
"scripts": {
"phpunit": "ieducar/vendor/bin/phpunit --colors=always --config=$(pwd)/ieducar/phpunit.xml --coverage-clover=$(pwd)/ieducar/tests/log/clover.xml",
"phpunit": "ieducar/vendor/bin/phpunit --colors=always --config=$(pwd)/ieducar/phpunit.xml",
"check-style": "ieducar/vendor/bin/php-cs-fixer --diff --dry-run --verbose fix",
"fix-style": "ieducar/vendor/bin/php-cs-fixer fix",
"test": [
Expand Down
6 changes: 1 addition & 5 deletions docker-compose.yml
Expand Up @@ -11,11 +11,7 @@ services:
links:
- postgres_95
container_name: ieducar_1604
composer:
image: composer
volumes:
- ./:/app
command: install --ignore-platform-reqs

postgres_95:
volumes:
- /var/lib/postgresql/data
Expand Down
2 changes: 1 addition & 1 deletion ieducar/configuration/ieducar.ini.sample
Expand Up @@ -101,7 +101,7 @@ report.show_error_details = true
report.default_factory = Portabilis_Report_ReportFactoryPHPJasper

; Define o diretório dos arquivos fontes dos relatórios
report.source_path = /home/portabilis/ieducar/ieducar/modules/Reports/ReportSources
report.source_path = /home/portabilis/ieducar/ieducar/modules/Reports/ReportSources/

; Configurações da entidade (instituicao)
; define o nome da entidade a ser exibido no topo
Expand Down
23 changes: 23 additions & 0 deletions ieducar/configuration/travis.ini
@@ -0,0 +1,23 @@
[production]
app.database.dbname = travis
app.database.username = postgres
app.database.hostname = localhost
app.database.password =
app.database.port = 5432
app.name = "i-Educar"

app.admin.reports.sql_tempo = 3
app.admin.reports.pagina_tempo = 5
app.admin.reports.emails[] =

[development : production]

[travis : development]

app.locale.country = 45
app.locale.province = SP
app.locale.timezone = America/Sao_Paulo
apis.access_key = ""
apis.secret_key = ""

app.template.vars.instituicao = i-Educar
4 changes: 2 additions & 2 deletions ieducar/lib/CoreExt/Validate/Abstract.php
Expand Up @@ -161,7 +161,7 @@ public function isValid($value)
$this->_value = $value;
$value = $this->_sanitize($value);

if (TRUE == $this->getOption('trim')) {
if (TRUE == $this->getOption('trim') && is_string($value)) {
$value = trim($value);
}

Expand Down Expand Up @@ -286,4 +286,4 @@ public function getSanitizedValue()
{
return $this->_sanitized;
}
}
}
3 changes: 2 additions & 1 deletion ieducar/lib/Portabilis/Controller/ApiCoreController.php
Expand Up @@ -320,7 +320,8 @@ protected function validatesPresenceOf($requiredParamNames) {
$valid = true;

foreach($requiredParamNames as $param) {
if (! $this->validator->validatesPresenceOf($this->getRequest()->$param, $param) and $valid) {
$value = $this->getRequest()->$param;
if (! $this->validator->validatesPresenceOf($value, $param) and $valid) {
$valid = false;
}
}
Expand Down

0 comments on commit 4ec676f

Please sign in to comment.