Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Adding __toString() method to Role #10178

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

Closed
wants to merge 852 commits into from
Closed

Adding __toString() method to Role #10178

wants to merge 852 commits into from

Conversation

jameshalsall
Copy link
Contributor

Q A
Bug fix? no
New feature? yes
BC breaks? possibly ?
Deprecations? no
Tests pass? yes
Fixed tickets N/A
License MIT

This PR proposes adding the toString() method to the \Symfony\Component\Security\Core\Role\Role class. This should ease the comparison of role strings and instances of Role itself. For example, in the FOSUserBundle the User model contains roles which are represented as strings. Making comparisons between arrays of Role objects (for example, returned by the RoleHierarchy::getReachableRoles()) difficult without creating your own Role class with a __toString(), and this isn't always desirable.

I found some conversation around adding the \Seriazable interface to the Role class, and I realise that this might be considered a BC break if people are relying on the fact that it will not cast to a string.

fabpot and others added 30 commits November 26, 2013 17:42
* 2.4:
  [HttpKernel] fixed regression introduced in 2.4 in the base DataCollector class. Added more unit tests coverage for the RequestDataCollector object.
  Fixed mistake in upgrade docu
  bumped Symfony version to 2.4.0
  updated VERSION for 2.4.0-RC1
  updated CHANGELOG for 2.4.0-RC1
  Container::camelize also takes backslashes into consideration
  fixed typos
  fixed @ExpectedException class names
  Fix an issue when overriding Client::setServerParameters() and using the getContainer() method in it.
  fixed some typos
  fixed @ExpectedException class names
  Typo and better wording for german validator translation
This PR was merged into the master branch.

Discussion
----------

[Security] Fixed typos/CS/PHPDoc

Commits
-------

e1110de Fixed typos/CS/PHPDoc
…ggestions (GromNaN)

This PR was submitted for the master branch but it was merged into the 2.4 branch instead (closes #9624).

Discussion
----------

[Console] Fix undefined offset when formatting namespace suggestions

[`preg_grep`](http://www.php.net/manual/en/function.preg-grep.php) returns an array indexed using the keys from the input array. `array_values` is used in the method `find`, but was missing in `findNamespace`.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9614
| License       | MIT
| Doc PR        | n/a

Edit: should be merged to 2.4

Commits
-------

f5c4011 [Console] Fix undefined offset when formatting namespace suggestions
… request stack context (romainneutron)

This PR was merged into the 2.4 branch.

Discussion
----------

[2.4][HttpKernel] Fix profiler event-listener usage outside request stack context

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

The bug has been reported at silexphp/Silex-WebProfiler#27

todo :
 - [x] add unit test

Commits
-------

55a76e7 [HttpKernel] Fix profiler event-listener usage outside request stack context
…aces (fabpot)

This PR was submitted for the master branch but it was merged into the 2.4 branch instead (closes #9621).

Discussion
----------

[ExpressionLanguage] fixed lexing expression ending with spaces

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9606, #9615
| License       | MIT
| Doc PR        |

Alternative fix for #9615

Commits
-------

d8f61c4 [ExpressionLanguage] fixed lexing expression ending with spaces
* 2.3:
  [Debug] fixed unit tests
  Avoid notice from being *eaten* by fatal error.
  Teardown used wrong property
  Modified guessDefaultEscapingStrategy to not escape txt templates
  Fix DateType for 32bits computers.
  Fixed the registration of validation.xml file when the form is disabled
  Fixes #9633, Removed dependency to Symfony\Bundle\FrameworkBundle\Tests\TestCase
  [Validator] Replaced inexistent interface.
  When getting the session's id, check if the session is not closed
  Adjusting CacheClear Warmup method to namespaced kernels

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
* 2.4:
  [Debug] fixed unit tests
  Avoid notice from being *eaten* by fatal error.
  Teardown used wrong property
  Modified guessDefaultEscapingStrategy to not escape txt templates
  Fix DateType for 32bits computers.
  Fixed the registration of validation.xml file when the form is disabled
  fixed lexing expression ending with spaces
  Fixes #9633, Removed dependency to Symfony\Bundle\FrameworkBundle\Tests\TestCase
  [Validator] Replaced inexistent interface.
  [HttpKernel] Fix profiler event-listener usage outside request stack context
  When getting the session's id, check if the session is not closed
  Fix undefined offset when formatting namespace suggestions
  Adjusting CacheClear Warmup method to namespaced kernels
…m.csrf_protection is enabled (bschussek)

This PR was submitted for the master branch but it was merged into the 2.4 branch instead (closes #9662).

Discussion
----------

[FrameworkBundle] Enabled csrf_protection by default if form.csrf_protection is enabled

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9429
| License       | MIT
| Doc PR        | -

This PR enables the CSRF protection services automatically if CSRF protection for forms is enabled. In this case, the CSRF protection services cannot be disabled anymore manually (the same as with the validation services).

Commits
-------

b5e5c71 [FrameworkBundle] Enabled csrf_protection by default if form.csrf_protection is enabled
This PR was merged into the 2.4 branch.

Discussion
----------

Fixed BC break in csrf protection

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9429
| License       | MIT
| Doc PR        | n/a

Commits
-------

d00954a Default form.csrf_protection.enabled to csrf_protection.enabled
…oudad)

This PR was submitted for the master branch but it was merged into the 2.4 branch instead (closes #9683).

Discussion
----------

[MonologBridge] updated Composer suggested packages

Commits
-------

1faf588 [MonologBridge] updated Composer suggested packages
* 2.3:
  updated VERSION for 2.2.11
  update CONTRIBUTORS for 2.2.11
  updated CHANGELOG for 2.2.11
  Fixed typo in phpdoc
  Handled the scenario when no entity manager is passed with closure query builder.
  [HttpKernel] made a small optimization to Bundle initialization
  minor optimalization at bundle initialization
  [EventDispatcher] tweaked README
  removed observer pattern, in favour of mediator
  [DoctrineBridge] normalized class names in the ORM type guesser
  Fix `extract` method to avoid recalculating count() for each iteration.
  [Debug] ensured that a fatal PHP error is actually fatal after being handled by our error handler
  use the correct class name to retrieve mapped class' metadata and repository
  [WebProfilerBundle] Fixed js escaping in time.html.twig

Conflicts:
	src/Symfony/Component/Debug/ErrorHandler.php
* 2.4:
  updated Composer suggested packages
  updated VERSION for 2.2.11
  update CONTRIBUTORS for 2.2.11
  updated CHANGELOG for 2.2.11
  Fixed typo in phpdoc
  Default form.csrf_protection.enabled to csrf_protection.enabled
  Handled the scenario when no entity manager is passed with closure query builder.
  Enabled csrf_protection by default if form.csrf_protection is enabled
  [HttpKernel] made a small optimization to Bundle initialization
  minor optimalization at bundle initialization
  [EventDispatcher] tweaked README
  removed observer pattern, in favour of mediator
  [DoctrineBridge] normalized class names in the ORM type guesser
  Fix `extract` method to avoid recalculating count() for each iteration.
  [Debug] ensured that a fatal PHP error is actually fatal after being handled by our error handler
  use the correct class name to retrieve mapped class' metadata and repository
  [WebProfilerBundle] Fixed js escaping in time.html.twig
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | no
| License       | MIT
| Doc PR        | no
…ilure (nicolas-grekas)

This PR was submitted for the 2.4-dev branch but it was merged into the 2.4 branch instead (closes #9742).

Discussion
----------

ErrorHandlerTest: restore_error_handler() on assertion failure

Before the patch, if any test fail in src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php,
phpunit's error handler is not correctly restored.
When running a test batch, this breaks other tests that rely on its behavior (@ExpectedException PHPUnit_Framework_Error)

Commits
-------

a6ed37c ErrorHandlerTest: restore_error_handler() on assertion failure
* 2.3:
  Fixed typo
  [validator] throw an exception if isn't an instance of ConstraintValidatorInterface.
  Reset the box model to content-box in the web debug toolbar
  [FrameworkBundle] Allowed "0" as a checkbox value in the php template.
  raising delta on stopwatch as travis really breaks with less than 35
  Switched to correct gender of "Token"
  fixed typos in several translations
  [HttpKernel] use static late binding when dumping out container
fabpot and others added 29 commits January 20, 2014 07:30
This PR was submitted for the 2.4-dev branch but it was merged into the 2.4 branch instead (closes #10067).

Discussion
----------

[HttpKernel] allow null value in fragment handler

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10066
| License       | MIT
| Doc PR        | n/a

Commits
-------

534deef [HttpKernel] allow null value in fragment handler
This allows to use a custom route class. So if you want to support
annotations for Routing in Silex it can now be done while keeping the
custom routing options Silex supports.
This PR was merged into the 2.4 branch.

Discussion
----------

[Process] clarify idle timeout

| Q             | A
| ------------- | ---
| Bug fix?      | sort of
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | n/a

Makes idle timeout in line with #9466

Commits
-------

9f07b4d [Process] clarify idle timeout
…bion)

This PR was merged into the 2.4 branch.

Discussion
----------

[Security] fix DI for SimpleFormAuthenticationListener

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10093
| License       | MIT
| Doc PR        | -

The problematic commit was f2f15f5

Commits
-------

b3f5fa9 [Security] fix DI for SimpleFormAuthenticationListener
…ommand (lyrixx)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[FrameworkBundle] Pretty Ppint json ouput of yaml:lint command

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

689e9bf [FrameworkBundle] Pretty Ppint json ouput of yaml:lint command
* 2.3: (30 commits)
  Update validators.ro.xlf
  add non-standard port to HTTP_HOST
  fixed attribute "source-language" for translations
  Update PluralizationRules.php
  Update validators.pt_BR.xlf
  Translated remaining items (57-72)
  Updated Vietnamese translation
  added missing dot in translation
  updated Arabic translations
  Update validators.id.xlf
  [Validator] Translate validator messages into Brazilian Portuguese
  Added more Swedish validator translations
  Update validators.ca.xlf
  fixed typos in Welsh translation
  Added missing Croatian translations
  [Form] fixed allow render 0 and 0.0 numeric input values
  Fixed validators.nl.xlf
  [Component/Security] Fixed some phpdocs in Security/Core
  Completed Luxembourgish translation
  Fixing the Logger deprecation notices to match the correct method name it should be informing of
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_widget_simple.html.php
	src/Symfony/Component/Console/Application.php
* 2.4: (35 commits)
  Update validators.ro.xlf
  add non-standard port to HTTP_HOST
  fixed attribute "source-language" for translations
  [Process] clarify idle timeout
  [Security] fix DI for SimpleFormAuthenticationListener
  Update PluralizationRules.php
  Update validators.pt_BR.xlf
  Translated remaining items (57-72)
  Updated Vietnamese translation
  allow null value in fragment handler
  added missing dot in translation
  updated Arabic translations
  Update validators.id.xlf
  [Validator] Translate validator messages into Brazilian Portuguese
  Added more Swedish validator translations
  Update validators.ca.xlf
  fixed typos in Welsh translation
  Added missing Croatian translations
  [Form] fixed allow render 0 and 0.0 numeric input values
  Fixed validators.nl.xlf
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
…t command (lyrixx)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[TwigBridge] Added support for json format in twig:lint command

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10026
| License       | MIT
| Doc PR        | -

Commits
-------

4d2f94a [TwigBridge] Added support for json format in twig:lint command
621f991 [TwigBridge] Cleaned documentation of twig:lint command
This PR was submitted for the 2.4-dev branch but it was merged into the 2.4 branch instead (closes #10002).

Discussion
----------

Routing condition bugfix

[Routing] Fixed inheriting of condition to sub routes for xml and yaml configuration.

Commits
-------

bb7e15e Routing condition bugfix
… tests.

This was initially done in b85577b, but
reverted when merging and solving conflicts from 2.3 branch
(07de761).
This PR was merged into the 2.4 branch.

Discussion
----------

[FrameworkBundle] Fixed the tests

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This template was already converted to a one liner before in b85577b, but
that change was reverted when merging and solving conflicts from 2.3 branch (07de761).

Commits
-------

38691da [FrameworkBundle] Merged multiple line input into one line to fix the tests.
…ader (henrikbjorn)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[Routing] Add createRoute method for AnnotationClassLoader

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

This allows to use a custom route class. So if you want to support
annotations for Routing in Silex it can now be done while keeping the
custom routing options Silex supports.

Commits
-------

97404b3 Add createRoute method for AnnotationClassLoader
* 2.3:
  fixed CS
  allow the TextAreaFormField to be used with valid/invalid HTML
  Create security.id.xlf
  [DependencyInjection] Remove unneeded file
  [Twig] removed obsolete conditions on Twig versions
  added lines to exceptions for the trans and transchoice tags
  [Form] Make FormInterface::add docblock more explicit
  [Security] Add zh_CN translations
  [Validator][Translation]update zh_CN translations
  [Validator] Minor fix in XmlLoader
* 2.4:
  fixed CS
  allow the TextAreaFormField to be used with valid/invalid HTML
  Create security.id.xlf
  [DependencyInjection] Remove unneeded file
  [Twig] removed obsolete conditions on Twig versions
  added lines to exceptions for the trans and transchoice tags
  [FrameworkBundle] Merged multiple line input into one line to fix the tests.
  [Form] Make FormInterface::add docblock more explicit
  [Security] Add zh_CN translations
  Routing condition bugfix
  [Validator][Translation]update zh_CN translations
  [Validator] Minor fix in XmlLoader
This PR was merged into the 2.5-dev branch.

Discussion
----------

Fixed grammar in Hungarian translations

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

7f74049 Fixed grammar in Hungarian translations
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

INI_SCANNER_RAW change the default scanner mode of parse_ini_files to parse all values without evaluate. This allow values with single quotes, "no" and "false" and raise an error if you use the deprecated "#" as comment character.
This change is specially good for shared translations, because a translator haven't to know that he can't use a few restricted terms.
And has a residual improvement: it's twice fast that use the default value (INI_SCANNER_NORMAL) in my tests
For compatibility to other projects using assert() should not be used in webProfiler-templates.
…files (TeLiXj)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[Translation] [Loader] Add INI_SCANNER_RAW to parse ini files

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets |
| License       | MIT
| Doc PR        |

INI_SCANNER_RAW change the default scanner mode of parse_ini_files to parse all values without evaluate. This allow values with single quotes, "no" and "false" and raise an error if you use the deprecated "#" as comment character.
This change is specially good for shared translations, because a translator haven't to know that he can't use a few restricted terms.
And has a residual improvement: it's twice fast that use the default value (INI_SCANNER_NORMAL) in my tests

Commits
-------

5ef60f1 [Translation] [Loader] Add INI_SCANNER_RAW to parse ini files
… in form-panel (Danez)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[WebProfilerBundle] Use inline images instead of asset() in form-panel

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | silexphp/Silex-WebProfiler#33
| License       | MIT
| Doc PR        |

In the ```form.html.twig```-template in dev-master the twig function ```assert()``` is used to load the images for the toggle-buttons. This is bad, as the profiler is also used in other projects, which maybe do not have an ```assert()``` function, like Silex.
 In version 2.4.x this is not an issue, as the new images were introduced for 2.5.

I change the assert() part to inline data-images with this [converter](http://www.askapache.com/online-tools/base64-image-converter/). Compression was enabled, so the images should be as small as possible. I also compressed the toolbar-icon a little bit further.

While switching between before (dev-master) and after (this PR) I have not spotted any visual difference.

Commits
-------

12eabd8 remove unused icons
f259157 Further compress icon
eb6d02c Use inline images instead of asset() function
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.