Skip to content

Commit

Permalink
Refacto User & Organization (#405)
Browse files Browse the repository at this point in the history
* Prepare Behat scenarios for User system refacto (#339)

* Refacto User login

* Add reset password

* Add Organization promote/revoke User

* Add ROLE_SUPER_ADMIN

* Add User impersonification for super-admin only

* Remove useless ROLE_VOLUNTEER

* wip

* Fix PHP-CS

Co-authored-by: Michel Roca <[email protected]>
  • Loading branch information
vincentchalamon and mRoca authored Nov 4, 2020
1 parent 684eafc commit 37e57d9
Show file tree
Hide file tree
Showing 146 changed files with 2,043 additions and 1,354 deletions.
6 changes: 5 additions & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ COMPOSE_PROJECT_NAME=resop

IMAGE_BUILD_TAG=dev

APP_NB_USERS=10
APP_NB_USERS=15
APP_NB_AVAILABILITIES=3
APP_SLOT_INTERVAL="+2 hours"

Expand All @@ -35,3 +35,7 @@ APP_SECRET=782bb8b0aeb47de4ea870794e79d82cd
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
DATABASE_URL=postgresql://resop:postgrespwd@postgres/resop?serverVersion=11&charset=utf8
###< doctrine/doctrine-bundle ###

###> symfony/mailer ###
MAILER_DSN=smtp://mailcatcher:25
###< symfony/mailer ###
1 change: 1 addition & 0 deletions .env.test
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ SYMFONY_DEPRECATIONS_HELPER=disabled
DATABASE_URL=postgresql://resop:postgrespwd@postgres/resop-test?serverVersion=11&charset=utf8
PANTHER_CHROME_ARGUMENTS="--headless --no-sandbox"
PANTHER_APP_ENV=panther
APP_SLOT_INTERVAL="+2 hours"
7 changes: 7 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ env:
APP_DEBUG: 0
DATABASE_SERVER_VERSION: 11 # update service "postgresql" if this value change
PANTHER_CHROME_DRIVER_BINARY: /usr/bin/chromedriver
MAILER_DSN: smtp://localhost:25

jobs:
php:
Expand All @@ -32,6 +33,11 @@ jobs:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
mailcatcher:
image: tophfr/mailcatcher:0.6.5
ports:
- 1080:80
- 25:25

steps:
- name: set DATABASE_URL environment variable
Expand Down Expand Up @@ -131,6 +137,7 @@ jobs:
- name: Run Behat tests
run: |
bin/post-install-test.sh
sed -i 's#http://mailcatcher#http://localhost:1080#' behat.yml.dist
vendor/bin/behat --format=progress --out=std --format=junit --out=var/behat --tags '~@javascript'
if: always()

Expand Down
4 changes: 2 additions & 2 deletions assets/js/_planning-missions.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ function setSlotMisssion(mission, $slot) {
missionsText += ' ';

// User part
let url = Routing.generate('app_user_availability_mission_modal', { id: mission.id });
let url = Routing.generate('app_user_availability_mission_modal', { mission: mission.id });

if (window.location.pathname.indexOf('organizations') >= 0 && !!mission?.organization?.id) {
// Organization part
url = Routing.generate('app_organization_mission_modal', { organization: mission.organization.id, id: mission.id });
url = Routing.generate('app_organization_mission_modal', { organization: mission.organization.id, mission: mission.id });
}

missionsText += $(`<button type="button" class="btn btn-link" data-toggle="ajax-modal" data-href="${url}">`).text(mission.name)[0].outerHTML;
Expand Down
2 changes: 1 addition & 1 deletion assets/js/fos_js_routes.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"base_url":"","routes":{"app_user_availability_mission_modal":{"tokens":[["text","\/modal"],["variable","\/","\\d+","id",true],["text","\/user\/availability\/missions"]],"defaults":[],"requirements":{"id":"\\d+"},"hosttokens":[],"methods":["GET"],"schemes":[]},"app_organization_mission_modal":{"tokens":[["text","\/modal"],["variable","\/","\\d+","id",true],["text","\/missions"],["variable","\/","\\d+","organization",true],["text","\/organizations"]],"defaults":[],"requirements":{"id":"\\d+","organization":"\\d+"},"hosttokens":[],"methods":["GET"],"schemes":[]},"app_organization_mission_find_by_filters":{"tokens":[["text","\/missions\/find"],["variable","\/","\\d+","organization",true],["text","\/organizations"]],"defaults":[],"requirements":{"organization":"\\d+"},"hosttokens":[],"methods":["GET"],"schemes":[]}},"prefix":"","host":"localhost","port":"","scheme":"http","locale":[]}
{"base_url":"","routes":{"app_user_availability_mission_modal":{"tokens":[["text","\/modal"],["variable","\/","\\d+","mission",true],["text","\/user\/availability\/missions"]],"defaults":[],"requirements":{"mission":"\\d+"},"hosttokens":[],"methods":["GET"],"schemes":[]},"app_organization_mission_modal":{"tokens":[["text","\/modal"],["variable","\/","\\d+","mission",true],["text","\/missions"],["variable","\/","\\d+","organization",true],["text","\/organizations"]],"defaults":[],"requirements":{"mission":"\\d+","organization":"\\d+"},"hosttokens":[],"methods":["GET"],"schemes":[]},"app_organization_mission_find_by_filters":{"tokens":[["text","\/missions\/find"],["variable","\/","\\d+","organization",true],["text","\/organizations"]],"defaults":[],"requirements":{"organization":"\\d+"},"hosttokens":[],"methods":["GET"],"schemes":[]}},"prefix":"","host":"localhost","port":"","scheme":"http","locale":[]}
9 changes: 7 additions & 2 deletions behat.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@ default:
suites:
default:
contexts:
- Alex\MailCatcher\Behat\MailCatcherContext
- App\Tests\Behat\CoverageContext
- App\Tests\Behat\DatabaseContext
- App\Tests\Behat\FixturesContext
- App\Tests\Behat\OrganizationPlanningContext
- App\Tests\Behat\ResetPasswordContext
- App\Tests\Behat\SecurityContext
- App\Tests\Behat\TraversingContext
- App\Tests\Behat\UserPlanningContext
- Behat\MinkExtension\Context\MinkContext
- PantherExtension\Context\PantherContext
- PantherExtension\Context\WaitContext:
- PantherExtension\Context\WaitContext
extensions:
PantherExtension\Extension\PantherExtension: ~
Alex\MailCatcher\Behat\MailCatcherExtension\Extension:
url: http://mailcatcher
purge_before_scenario: true
Behat\MinkExtension:
browser_name: chrome
default_session: symfony
Expand All @@ -28,3 +32,4 @@ default:
kernel:
environment: test
debug: true
PantherExtension\Extension\PantherExtension: ~
3 changes: 3 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"symfony/form": "5.*",
"symfony/framework-bundle": "5.*",
"symfony/intl": "5.*",
"symfony/mailer": "5.0.*",
"symfony/monolog-bundle": "^3.5",
"symfony/orm-pack": "^1.0",
"symfony/security-bundle": "5.0.*",
Expand All @@ -32,10 +33,12 @@
"symfony/validator": "5.*",
"symfony/webpack-encore-bundle": "^1.7",
"symfony/yaml": "5.*",
"symfonycasts/reset-password-bundle": "^1.1",
"twig/cache-extension": "^1.4",
"twig/intl-extra": "^3.0"
},
"require-dev": {
"alexandresalome/mailcatcher": "dev-master",
"behat/behat": "^3.6",
"dama/doctrine-test-bundle": "^6.3",
"escapestudios/symfony2-coding-standard": "^3.11",
Expand Down
Loading

0 comments on commit 37e57d9

Please sign in to comment.