Skip to content

[Form][FrameworkBundle][Bridge] Add a DateInterval form type #13390

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 47 commits into from

Conversation

MisatoTremor
Copy link
Contributor

Q A
Bug fix? no
New feature? yes
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets #13389
License MIT
Doc PR symfony/symfony-docs#4817

@MisatoTremor
Copy link
Contributor Author

Travis tests only failing temporarily (seems this is caused by #13351 and fixed soon).

$result['days'] = (string) ($result['days'] % 7);
}
}
$result['invert'] = $result['invert'] === '-' ? true : false;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just $result['invert'] = $result['invert'] === '-' will do it. $result['invert'] === '-' already gives you a boolean

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, thanks!

@fabpot fabpot added the Form label Jan 16, 2015
}

/**
* Transforms a normalized date interval into a interval array.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a interval array => an interval array

@MisatoTremor
Copy link
Contributor Author

Updated use of deprecated function and rebased.

@MisatoTremor MisatoTremor force-pushed the add_dateinterval_type branch from 4b83116 to 3087d21 Compare April 1, 2015 12:24
@MisatoTremor
Copy link
Contributor Author

@stof As 2.7 is now in feature freeze, should I rebase this to 3.0?

fabpot and others added 15 commits April 10, 2015 10:55
* 2.7:
  [HttpKernel] fixed a regression when no exception listeners are registered
  renamed some confusing tests
  propel/propel1 is now useless
  bumped Symfony version to 2.7.0
  updated VERSION for 2.7.0-BETA1
  updated CHANGELOG for 2.7.0-BETA1
  [2.3] Fix @link annotations
  [2.7] For @link annotations
  [2.6] Fix @link annotations
  [2.7][Console] Count the  array instead of
  [Config][cache factory] check type of callback argument.
  Fix javascript
  [2.3][Translation] test refresh cache when resources File change.
  Added deprecation message and original color back
  [Translator] Cache does not take fallback locales into consideration
…ort number option. (aitboudad)

This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle][Server Command] add address port number option.

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

This allow running server without repeating `127.0.0.1` each time, in the most of case we only change the port number.

* Before
```
app/console server:start 127.0.0.1:8080
```

* After
```
app/console server:start -p 8080
```

Commits
-------

fbe1a43 [FrameworkBundle][Server Command] add address port number option.
This PR was merged into the 2.8 branch.

Discussion
----------

[Translation] added FileLoader.

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

Commits
-------

3694e5e [Translation] added FileLoader.
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Added support for SplFileInfo

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

Before:
```
SplFileInfo {#3}
```

After:
```
SplFileInfo {#3
  path: "/home/greg/dev/github.com/lyrixx/gaga-photo/fixtures"
  filename: "grisou.jpg"
  basename: "grisou.jpg"
  pathname: "/home/greg/dev/github.com/lyrixx/gaga-photo/fixtures/grisou.jpg"
  extension: "jpg"
  realPath: "/home/greg/dev/github.com/lyrixx/gaga-photo/fixtures/grisou.jpg"
  aTime: 2015-04-20 23:21:15
  mTime: 2014-08-17 15:37:36
  cTime: 2015-04-20 23:09:51
  inode: 12197643
  size: 966553
  perms: 0100750
  owner: 1000
  group: 1000
  type: "file"
  writable: true
  readable: true
  executable: true
  file: true
  dir: false
  link: false
}
```

For a link:

```
SplFileInfo {#3
  path: ""
  filename: "link"
  basename: "link"
  pathname: "link"
  extension: ""
  realPath: "/home/greg/dev/github.com/symfony/var-dumper/composer.json"
  aTime: 2015-04-20 23:39:15
  mTime: 2015-04-20 23:39:15
  cTime: 2015-04-20 23:39:15
  inode: 11272232
  size: 967
  perms: 0100644
  owner: 1000
  group: 1000
  type: "link"
  writable: true
  readable: true
  executable: false
  file: true
  dir: false
  link: true
  linkTarget: "composer.json"
}
```

For a remote file:

```
SplFileInfo {#3
  path: "http://google.com"
  filename: "foobar.php"
  basename: "foobar.php"
  pathname: "http://google.com/foobar.php"
  extension: "php"
  realPath: false
  writable: false
  readable: false
  executable: false
  file: false
  dir: false
  link: false
}
```

For a CSV:
```
SplFileObject {#3
  path: ""
  filename: "test.csv"
  basename: "test.csv"
  pathname: "test.csv"
  extension: "csv"
  realPath: "/home/greg/dev/github.com/symfony/var-dumper/test.csv"
  aTime: 2015-04-21 12:55:07
  mTime: 2015-04-21 12:55:07
  cTime: 2015-04-21 12:55:07
  inode: 11272237
  size: 0
  perms: 0100644
  owner: 1000
  group: 1000
  type: "file"
  writable: true
  readable: true
  executable: false
  file: true
  dir: false
  link: false
  csvControl: array:2 [
    0 => ","
    1 => """
  ]
  flags: SKIP_EMPTY|READ_CSV
  maxLineLen: 0
  fstat: array:7 [
    "dev" => 64513
    "ino" => 11272237
    "nlink" => 1
    "rdev" => 0
    "blksize" => 4096
    "blocks" => 0
    "…" => "…20"
  ]
  eof: false
  key: 0
}

Commits
-------

e75c233 [VarDumper] Added support for SplFileObject
eb50b13 [VarDumper] Added support for SplFileInfo
…d if possible (lyrixx)

This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Bind the closure (code) to the Command if possible

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

This allow this kind of code:

```php
#!/usr/bin/env php
<?php

require __DIR__.'/vendor/autoload.php';

use Symfony\Component\Console\Application;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

$application = new Application();

$application->add((new Command('process')))
    ->setDescription('Play all other commands')
    ->setCode(function (InputInterface $input, OutputInterface $output) use ($application) {
        $application = $this->getApplication();
        $help = $application->find('help');
        $output->writeln($help->getHelp());
    })
;
$application->run();
```

Commits
-------

ff4424a [Console] Bind the closure (code) to the Command if possible
…rays (nicolas-grekas)

This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Allow preserving a subset of cut arrays

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

Commits
-------

208ca94 [VarDumper] Allow preserving a subset of cut arrays
* 2.7: (40 commits)
  [Debug] Fix ClassNotFoundFatalErrorHandler candidates lookups
  [2.6][Translator] Extend, refactor and simplify Translator tests.
  Update DebugClassLoader.php
  inject asset packages in assets helper service
  [travis] Do not exclude legacy tests on 2.7
  [HttpFoundation] remove getExtension method
  [2.6][Translation] fix legacy tests.
  [Form] Removed remaining deprecation notices in the test suite
  [Form] Moved deprecation notice triggers to file level
  [Debug] Map PHP errors to LogLevel::CRITICAL
  [Routing][DependencyInjection] Support .yaml extension in YAML loaders
  [DX] improve file loader error for router/other resources in bundle
  [FrameworkBundle] Initialize translator with the default locale.
  [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors
  [2.7][Translation] remove duplicate code for loading catalogue.
  [2.6][Translation] remove duplicate code for loading catalogue.
  [HttpKernel] Cleanup ExceptionListener
  CS fixes
  [DependencyInjection] Show better error when the Yaml component is not installed
  [2.3] SCA for Components - reference mismatches
  ...
fabpot and others added 15 commits May 6, 2015 18:31
…es to the debug:event-dispatcher command (Seldaek)

This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle][EventDispatcher] Add priorities to the debug:event-dispatcher command

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

I find it helps to figure out which priority is needed to override another event listener without digging in the sources.

Commits
-------

952929c [FrameworkBundle][EventDispatcher] Add priorities to the debug:event-dispatcher command
…itional translation loading paths (Seldaek)

This PR was squashed before being merged into the 2.8 branch (closes symfony#14561).

Discussion
----------

[FrameworkBundle][DX] Add option to specify additional translation loading paths

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

Thanks to this PR, next time I want to just do:

```
    translator:
        fallback: "%locale%"
        paths: ['%kernel.root_dir%/../vendor/internal/package/translations']
```

I will be able to, and won't have to dig in docs, start building a translation loader before I realize it's not what I want, dig in the framework ext, and then have to write a compiler pass to inject my file to the translator resource paths.

Commits
-------

bba0a25 [FrameworkBundle][DX] Add option to specify additional translation loading paths
* 2.7: (70 commits)
  [travis] Use container-based infrastructure
  [HttpKernel] use ConfigCache::getPath() method when it exists
  [PropertyAccess] Fix setting public property on a class having a magic getter
  [Routing] Display file which contain deprecated option
  ContainerInterface: unused exception dropped
  bumped Symfony version to 2.6.8
  updated VERSION for 2.6.7
  updated CHANGELOG for 2.6.7
  bumped Symfony version to 2.3.29
  updated VERSION for 2.3.28
  update CONTRIBUTORS for 2.3.28
  updated CHANGELOG for 2.3.28
  [Debug] Fixed ClassNotFoundFatalErrorHandlerTest
  [SecurityBundle] use access decision constants in config
  [SecurityBundle] use session auth constants in config
  PhpDoc fix in AbstractRememberMeServices
  [Filesystem] Simplified an if statement
  [SecurityBundle] Use Enum Nodes Instead Of Scalar
  [Debug 2.3] Fix test for PHP7
  [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed
  ...

Conflicts:
	src/Symfony/Bundle/DebugBundle/composer.json
	src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Component/Form/README.md
	src/Symfony/Component/Intl/README.md
	src/Symfony/Component/Security/README.md
	src/Symfony/Component/Translation/Loader/CsvFileLoader.php
	src/Symfony/Component/Translation/Loader/IniFileLoader.php
	src/Symfony/Component/Translation/Loader/MoFileLoader.php
	src/Symfony/Component/Translation/Loader/PhpFileLoader.php
	src/Symfony/Component/Translation/Loader/PoFileLoader.php
	src/Symfony/Component/Translation/Loader/YamlFileLoader.php
	src/Symfony/Component/Translation/README.md
	src/Symfony/Component/Translation/Translator.php
	src/Symfony/Component/Validator/README.md
* 2.7:
  [TranslationDebugCommand] fixed failing tests.
* 2.7:
  fix missing links to https://symfony.com
  fix missing links to https://symfony.com
  [travis] Don't use the cache
  [DebugBundle] Remove inlined dumps on XHR

Conflicts:
	src/Symfony/Component/Security/Acl/README.md
	src/Symfony/Component/Security/Core/README.md
	src/Symfony/Component/Security/Csrf/README.md
	src/Symfony/Component/Security/Http/README.md
* 2.7:
  [EventDispatcher] make listeners removable from an executed listener
  [2.7][DoctrineBridge] change Logger interface in tests to use Psr\\Log\\LoggerInterface instead of Symfony\\Component\\HttpKernel\\Log\\LoggerInterface"
  [HttpFoundation] Fix volatile MongoDbSessionHandlerTest::testRead()
  bumped Symfony version to 2.7.0
  updated VERSION for 2.7.0-BETA2
  updated CHANGELOG for 2.7.0-BETA2
  Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator)
  [Console] SymfonyStyle: fix block rpadding when escaping '<'
  [Console] fix code style

Conflicts:
	src/Symfony/Component/Form/composer.json
* 2.7:
  fixed CS
  fixed CS
  fixed CS
  Fix WebProfilerBundle compatiblity with HttpKernel < 2.7
  [Validator] Deprecated PHP7-incompatible constraints and related validators
  [DebugBundle] Allow alternative destination for dumps
  [DebugBundle] Use output mechanism of dumpers instead of echoing
  [DebugBundle] Always collect dumps
  [FrameworkBundle] Applied new styles to the config:debug & config:dump-reference commands
  Fix tests in HHVM
  CS: Pre incrementation/decrementation should be used if possible

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/composer.json
This PR was submitted for the 2.7 branch but it was merged into the 2.8 branch instead (closes symfony#13324).

Discussion
----------

[WebProfilerBundle] Improved page for logs

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

*Before*
![logs-before](https://cloud.githubusercontent.com/assets/288535/5661713/3942c530-972f-11e4-89cb-2e185a6d07ac.png)
*After*
![logs-after](https://cloud.githubusercontent.com/assets/288535/5661681/d02b50da-972e-11e4-96e8-0572428ba82f.png)

Commits
-------

5fdc650 [WebProfilerBundle] Improved page for logs
This PR was squashed before being merged into the 2.8 branch (closes symfony#14403).

Discussion
----------

[Form] deprecate read_only option

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | symfony#10658
| License       | MIT
| Doc PR        | symfony/symfony-docs#3782

Replaces symfony#10676 with a slightly different implementation.
- fixes BC break when 'read_only' => true option and at the same time custom attributes are used by using a normalizer
- adds deprecation notice
- keeps legacy tests

Commits
-------

53330e1 [Form] deprecate read_only option
…mp messages as tree instead of simple list.

Dump messages as tree based on '.' character as a delimeter in path.
For example this rray('foo.bar' => 'value') will be converted to array('foo' => array('bar' => 'value')).

Correctly process cases like this ['foo.bar' => 'test1', 'foo' => 'test2'].
… instead of simple list (gepo)

This PR was merged into the 2.8 branch.

Discussion
----------

[Translator] Dump translation constants as tree instead of simple list

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

PR symfony#14434 for 2.8 branch

Commits
-------

29ec5ca [Translation] add options 'as_tree', 'inline' to YamlFileDumper to dump messages as tree instead of simple list.
@wouterj
Copy link
Member

wouterj commented May 22, 2015

@MisatoTremor you should rebase on 2.8 now

@MisatoTremor MisatoTremor force-pushed the add_dateinterval_type branch from 3087d21 to 5675de2 Compare May 25, 2015 14:06
@MisatoTremor MisatoTremor force-pushed the add_dateinterval_type branch from 5675de2 to 2067dab Compare May 25, 2015 14:27
@MisatoTremor
Copy link
Contributor Author

Done
@wouterj Is it correct this way or should I open a new PR based on 2.8 (and with squashed commits) or else?

@webmozart
Copy link
Contributor

Thanks for creating this PR @MisatoTremor! Yes, you should open a new PR based on 2.8, otherwise it's hard to review this. :)

@MisatoTremor
Copy link
Contributor Author

@webmozart ^ Done :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.