Add image size to lenses

This commit is contained in:
Timothy Warren 2018-02-14 15:08:03 -05:00
parent 46d5310ce5
commit f21c629640
45 changed files with 1648 additions and 1477 deletions

View File

@ -5,25 +5,18 @@ root = true
# Unix-style newlines with a newline ending every file # Unix-style newlines with a newline ending every file
[*] [*]
charset = utf-8
end_of_line = lf end_of_line = lf
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true insert_final_newline = true
# Tab indentation (no size specified)
[Makefile]
indent_style = tab
[*.{js,css,php,html}]
charset = utf-8
indent_style = tab indent_style = tab
indent_size = 4 indent_size = 4
# Indentation override # Indentation override
[*.{html,js}] [*.{html,twig,js}]
indent_size = 2 indent_size = 2
# Matches the exact files either package.json or .travis.yml [*.{yml,yaml}]
[{package.json,.travis.yml}]
indent_style = space indent_style = space
indent_size = 2 indent_size = 2

374
composer.lock generated
View File

@ -536,20 +536,20 @@
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "v1.2.0", "version": "v1.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "e11d84c6e018beedd929cff5220969a3c6d1d462" "reference": "5527a48b7313d15261292c149e55e26eae771b0a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462", "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a",
"reference": "e11d84c6e018beedd929cff5220969a3c6d1d462", "reference": "5527a48b7313d15261292c149e55e26eae771b0a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.2" "phpunit/phpunit": "^6.2"
@ -557,7 +557,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.2.x-dev" "dev-master": "1.3.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -599,7 +599,7 @@
"singularize", "singularize",
"string" "string"
], ],
"time": "2017-07-22T12:18:28+00:00" "time": "2018-01-09T20:05:19+00:00"
}, },
{ {
"name": "doctrine/instantiator", "name": "doctrine/instantiator",
@ -793,16 +793,16 @@
}, },
{ {
"name": "easycorp/easy-log-handler", "name": "easycorp/easy-log-handler",
"version": "v1.0.3", "version": "v1.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/EasyCorp/easy-log-handler.git", "url": "https://github.com/EasyCorp/easy-log-handler.git",
"reference": "79104f113f562ab6c677d482457d4474204d34a5" "reference": "1a617a37ab9389eac4e2e1d14cb70ee0087d724d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/EasyCorp/easy-log-handler/zipball/79104f113f562ab6c677d482457d4474204d34a5", "url": "https://api.github.com/repos/EasyCorp/easy-log-handler/zipball/1a617a37ab9389eac4e2e1d14cb70ee0087d724d",
"reference": "79104f113f562ab6c677d482457d4474204d34a5", "reference": "1a617a37ab9389eac4e2e1d14cb70ee0087d724d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -839,7 +839,7 @@
"monolog", "monolog",
"productivity" "productivity"
], ],
"time": "2017-10-20T08:47:57+00:00" "time": "2018-01-10T08:34:20+00:00"
}, },
{ {
"name": "jdorn/sql-formatter", "name": "jdorn/sql-formatter",
@ -1161,16 +1161,16 @@
}, },
{ {
"name": "sensio/framework-extra-bundle", "name": "sensio/framework-extra-bundle",
"version": "v5.1.3", "version": "v5.1.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
"reference": "0696496cb3e2d23add645d424699e5c723238aad" "reference": "bf4940572e43af679aaa13be98f3446a1c237bd8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/0696496cb3e2d23add645d424699e5c723238aad", "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bf4940572e43af679aaa13be98f3446a1c237bd8",
"reference": "0696496cb3e2d23add645d424699e5c723238aad", "reference": "bf4940572e43af679aaa13be98f3446a1c237bd8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1226,20 +1226,20 @@
"annotations", "annotations",
"controllers" "controllers"
], ],
"time": "2017-12-04T18:33:55+00:00" "time": "2018-02-14T08:40:54+00:00"
}, },
{ {
"name": "symfony/cache", "name": "symfony/cache",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache.git", "url": "https://github.com/symfony/cache.git",
"reference": "d00351f230ca037ca13f6fec3411e002043f7421" "reference": "e901ff335ef5e8ef57ee9b8e098bd54a1d39a857"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/d00351f230ca037ca13f6fec3411e002043f7421", "url": "https://api.github.com/repos/symfony/cache/zipball/e901ff335ef5e8ef57ee9b8e098bd54a1d39a857",
"reference": "d00351f230ca037ca13f6fec3411e002043f7421", "reference": "e901ff335ef5e8ef57ee9b8e098bd54a1d39a857",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1295,20 +1295,20 @@
"caching", "caching",
"psr6" "psr6"
], ],
"time": "2017-12-08T16:11:45+00:00" "time": "2018-01-18T22:19:33+00:00"
}, },
{ {
"name": "symfony/config", "name": "symfony/config",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/config.git", "url": "https://github.com/symfony/config.git",
"reference": "0356e6d5298e9e72212c0bad65c2f1b49e42d622" "reference": "ecd917899167922086ddb3247aa43eb1c418fcb2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/0356e6d5298e9e72212c0bad65c2f1b49e42d622", "url": "https://api.github.com/repos/symfony/config/zipball/ecd917899167922086ddb3247aa43eb1c418fcb2",
"reference": "0356e6d5298e9e72212c0bad65c2f1b49e42d622", "reference": "ecd917899167922086ddb3247aa43eb1c418fcb2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1355,20 +1355,20 @@
], ],
"description": "Symfony Config Component", "description": "Symfony Config Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-21T19:06:11+00:00"
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "de8cf039eacdec59d83f7def67e3b8ff5ed46714" "reference": "36d5b41e7d4e1ccf0370f6babe966c08ef0a1488"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/de8cf039eacdec59d83f7def67e3b8ff5ed46714", "url": "https://api.github.com/repos/symfony/console/zipball/36d5b41e7d4e1ccf0370f6babe966c08ef0a1488",
"reference": "de8cf039eacdec59d83f7def67e3b8ff5ed46714", "reference": "36d5b41e7d4e1ccf0370f6babe966c08ef0a1488",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1423,20 +1423,20 @@
], ],
"description": "Symfony Console Component", "description": "Symfony Console Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-29T09:06:29+00:00"
}, },
{ {
"name": "symfony/debug", "name": "symfony/debug",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug.git", "url": "https://github.com/symfony/debug.git",
"reference": "8c3e709209ce3b952a31c0f4a31ac7703c3d0226" "reference": "c77bb31d0f6310a2ac11e657475d396a92e5dc54"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/8c3e709209ce3b952a31c0f4a31ac7703c3d0226", "url": "https://api.github.com/repos/symfony/debug/zipball/c77bb31d0f6310a2ac11e657475d396a92e5dc54",
"reference": "8c3e709209ce3b952a31c0f4a31ac7703c3d0226", "reference": "c77bb31d0f6310a2ac11e657475d396a92e5dc54",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1479,20 +1479,20 @@
], ],
"description": "Symfony Debug Component", "description": "Symfony Debug Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-12T08:41:51+00:00" "time": "2018-01-18T22:19:33+00:00"
}, },
{ {
"name": "symfony/debug-bundle", "name": "symfony/debug-bundle",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug-bundle.git", "url": "https://github.com/symfony/debug-bundle.git",
"reference": "81eac72b030c08c9dcd85f60e873fc356f21f436" "reference": "3188f67995b0b54ca0600c68dac86ae822229a97"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug-bundle/zipball/81eac72b030c08c9dcd85f60e873fc356f21f436", "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/3188f67995b0b54ca0600c68dac86ae822229a97",
"reference": "81eac72b030c08c9dcd85f60e873fc356f21f436", "reference": "3188f67995b0b54ca0600c68dac86ae822229a97",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1544,7 +1544,7 @@
], ],
"description": "Symfony DebugBundle", "description": "Symfony DebugBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-11-24T14:34:08+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/debug-pack", "name": "symfony/debug-pack",
@ -1579,16 +1579,16 @@
}, },
{ {
"name": "symfony/dependency-injection", "name": "symfony/dependency-injection",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dependency-injection.git", "url": "https://github.com/symfony/dependency-injection.git",
"reference": "d2fa088b5fd7d429974a36bf1a9846b912d9d124" "reference": "f78ca49c6360c710ca8e316511e71a23b10e3bf2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d2fa088b5fd7d429974a36bf1a9846b912d9d124", "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f78ca49c6360c710ca8e316511e71a23b10e3bf2",
"reference": "d2fa088b5fd7d429974a36bf1a9846b912d9d124", "reference": "f78ca49c6360c710ca8e316511e71a23b10e3bf2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1646,20 +1646,20 @@
], ],
"description": "Symfony DependencyInjection Component", "description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-29T09:29:16+00:00"
}, },
{ {
"name": "symfony/doctrine-bridge", "name": "symfony/doctrine-bridge",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git", "url": "https://github.com/symfony/doctrine-bridge.git",
"reference": "d14c17af9290634eb1588b75ed64a64ee286ba3e" "reference": "85d54596a1fe1089536ce03979a1992bf71b7e04"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d14c17af9290634eb1588b75ed64a64ee286ba3e", "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/85d54596a1fe1089536ce03979a1992bf71b7e04",
"reference": "d14c17af9290634eb1588b75ed64a64ee286ba3e", "reference": "85d54596a1fe1089536ce03979a1992bf71b7e04",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1725,20 +1725,20 @@
], ],
"description": "Symfony Doctrine Bridge", "description": "Symfony Doctrine Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-09T12:13:31+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/event-dispatcher", "name": "symfony/event-dispatcher",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher.git", "url": "https://github.com/symfony/event-dispatcher.git",
"reference": "d4face19ed8002eec8280bc1c5ec18130472bf43" "reference": "74d33aac36208c4d6757807d9f598f0133a3a4eb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d4face19ed8002eec8280bc1c5ec18130472bf43", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/74d33aac36208c4d6757807d9f598f0133a3a4eb",
"reference": "d4face19ed8002eec8280bc1c5ec18130472bf43", "reference": "74d33aac36208c4d6757807d9f598f0133a3a4eb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1788,20 +1788,20 @@
], ],
"description": "Symfony EventDispatcher Component", "description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/filesystem", "name": "symfony/filesystem",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/filesystem.git", "url": "https://github.com/symfony/filesystem.git",
"reference": "8c2868641d0c4885eee9c12a89c2b695eb1985cd" "reference": "760e47a4ee64b4c48f4b30017011e09d4c0f05ed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/8c2868641d0c4885eee9c12a89c2b695eb1985cd", "url": "https://api.github.com/repos/symfony/filesystem/zipball/760e47a4ee64b4c48f4b30017011e09d4c0f05ed",
"reference": "8c2868641d0c4885eee9c12a89c2b695eb1985cd", "reference": "760e47a4ee64b4c48f4b30017011e09d4c0f05ed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1837,20 +1837,20 @@
], ],
"description": "Symfony Filesystem Component", "description": "Symfony Filesystem Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/finder.git", "url": "https://github.com/symfony/finder.git",
"reference": "c9cdda4dc4a3182d8d6daeebce4a25fef078ea4c" "reference": "8b08180f2b7ccb41062366b9ad91fbc4f1af8601"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/c9cdda4dc4a3182d8d6daeebce4a25fef078ea4c", "url": "https://api.github.com/repos/symfony/finder/zipball/8b08180f2b7ccb41062366b9ad91fbc4f1af8601",
"reference": "c9cdda4dc4a3182d8d6daeebce4a25fef078ea4c", "reference": "8b08180f2b7ccb41062366b9ad91fbc4f1af8601",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1886,20 +1886,20 @@
], ],
"description": "Symfony Finder Component", "description": "Symfony Finder Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-11-07T14:45:01+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/form", "name": "symfony/form",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/form.git", "url": "https://github.com/symfony/form.git",
"reference": "8c8cf3d9981a5ceb841ecef65570a422f3ecff71" "reference": "46ff2f07ea787a500a9a7000389744c1445fb40e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/form/zipball/8c8cf3d9981a5ceb841ecef65570a422f3ecff71", "url": "https://api.github.com/repos/symfony/form/zipball/46ff2f07ea787a500a9a7000389744c1445fb40e",
"reference": "8c8cf3d9981a5ceb841ecef65570a422f3ecff71", "reference": "46ff2f07ea787a500a9a7000389744c1445fb40e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1966,20 +1966,20 @@
], ],
"description": "Symfony Form Component", "description": "Symfony Form Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-29T09:06:29+00:00"
}, },
{ {
"name": "symfony/framework-bundle", "name": "symfony/framework-bundle",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/framework-bundle.git", "url": "https://github.com/symfony/framework-bundle.git",
"reference": "82e45a486a2cbdab5d43512bea10af1681dcd8e2" "reference": "3766b9b88e9918f68560b58a404340b41112b861"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/82e45a486a2cbdab5d43512bea10af1681dcd8e2", "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3766b9b88e9918f68560b58a404340b41112b861",
"reference": "82e45a486a2cbdab5d43512bea10af1681dcd8e2", "reference": "3766b9b88e9918f68560b58a404340b41112b861",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1987,7 +1987,7 @@
"php": "^7.1.3", "php": "^7.1.3",
"symfony/cache": "~3.4|~4.0", "symfony/cache": "~3.4|~4.0",
"symfony/config": "~3.4|~4.0", "symfony/config": "~3.4|~4.0",
"symfony/dependency-injection": "~3.4|~4.0", "symfony/dependency-injection": "^3.4.3|^4.0.3",
"symfony/event-dispatcher": "~3.4|~4.0", "symfony/event-dispatcher": "~3.4|~4.0",
"symfony/filesystem": "~3.4|~4.0", "symfony/filesystem": "~3.4|~4.0",
"symfony/finder": "~3.4|~4.0", "symfony/finder": "~3.4|~4.0",
@ -2080,20 +2080,20 @@
], ],
"description": "Symfony FrameworkBundle", "description": "Symfony FrameworkBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-15T01:44:28+00:00" "time": "2018-01-29T09:06:29+00:00"
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "aba96bd07be7796c81ca0ceafa7d48a6fef036c8" "reference": "82a3ee2c6662d08ca1adf99e1ef2e31ab48196d4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/aba96bd07be7796c81ca0ceafa7d48a6fef036c8", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/82a3ee2c6662d08ca1adf99e1ef2e31ab48196d4",
"reference": "aba96bd07be7796c81ca0ceafa7d48a6fef036c8", "reference": "82a3ee2c6662d08ca1adf99e1ef2e31ab48196d4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2133,20 +2133,20 @@
], ],
"description": "Symfony HttpFoundation Component", "description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-29T09:06:29+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "f2ea7461cdcad837b8bc6022b59d5eb8c9618aa5" "reference": "194bd224ec27952eac6d4fea6264b22990834eca"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f2ea7461cdcad837b8bc6022b59d5eb8c9618aa5", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/194bd224ec27952eac6d4fea6264b22990834eca",
"reference": "f2ea7461cdcad837b8bc6022b59d5eb8c9618aa5", "reference": "194bd224ec27952eac6d4fea6264b22990834eca",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2154,7 +2154,7 @@
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/debug": "~3.4|~4.0", "symfony/debug": "~3.4|~4.0",
"symfony/event-dispatcher": "~3.4|~4.0", "symfony/event-dispatcher": "~3.4|~4.0",
"symfony/http-foundation": "~3.4|~4.0" "symfony/http-foundation": "~3.4.4|~4.0.4"
}, },
"conflict": { "conflict": {
"symfony/config": "<3.4", "symfony/config": "<3.4",
@ -2219,20 +2219,20 @@
], ],
"description": "Symfony HttpKernel Component", "description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-15T03:06:17+00:00" "time": "2018-01-29T13:27:08+00:00"
}, },
{ {
"name": "symfony/inflector", "name": "symfony/inflector",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/inflector.git", "url": "https://github.com/symfony/inflector.git",
"reference": "8740990f67ec9f89bfa116d11bad2990dd510ece" "reference": "da634a9968162f7c5c94f8d6949a4ede86085304"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/inflector/zipball/8740990f67ec9f89bfa116d11bad2990dd510ece", "url": "https://api.github.com/repos/symfony/inflector/zipball/da634a9968162f7c5c94f8d6949a4ede86085304",
"reference": "8740990f67ec9f89bfa116d11bad2990dd510ece", "reference": "da634a9968162f7c5c94f8d6949a4ede86085304",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2276,20 +2276,20 @@
"symfony", "symfony",
"words" "words"
], ],
"time": "2017-08-31T20:46:21+00:00" "time": "2018-01-03T17:15:19+00:00"
}, },
{ {
"name": "symfony/intl", "name": "symfony/intl",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/intl.git", "url": "https://github.com/symfony/intl.git",
"reference": "9ee9ded0b3902239172811c2b2526cb81165a74f" "reference": "e67537d88dd27c7ae9ca1ff05c51ebb8eb59c391"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/intl/zipball/9ee9ded0b3902239172811c2b2526cb81165a74f", "url": "https://api.github.com/repos/symfony/intl/zipball/e67537d88dd27c7ae9ca1ff05c51ebb8eb59c391",
"reference": "9ee9ded0b3902239172811c2b2526cb81165a74f", "reference": "e67537d88dd27c7ae9ca1ff05c51ebb8eb59c391",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2351,20 +2351,20 @@
"l10n", "l10n",
"localization" "localization"
], ],
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/monolog-bridge", "name": "symfony/monolog-bridge",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/monolog-bridge.git", "url": "https://github.com/symfony/monolog-bridge.git",
"reference": "da8c15357bcf114a319105524648940faf03fd77" "reference": "1b4fb2313312ec6cfae8ce45fccb2a88ec99d892"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/da8c15357bcf114a319105524648940faf03fd77", "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/1b4fb2313312ec6cfae8ce45fccb2a88ec99d892",
"reference": "da8c15357bcf114a319105524648940faf03fd77", "reference": "1b4fb2313312ec6cfae8ce45fccb2a88ec99d892",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2417,7 +2417,7 @@
], ],
"description": "Symfony Monolog Bridge", "description": "Symfony Monolog Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-12T08:41:51+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/monolog-bundle", "name": "symfony/monolog-bundle",
@ -2484,16 +2484,16 @@
}, },
{ {
"name": "symfony/options-resolver", "name": "symfony/options-resolver",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/options-resolver.git", "url": "https://github.com/symfony/options-resolver.git",
"reference": "75fdda335eb0adbd464089e8a0184c61097808e0" "reference": "371532a2cfe932f7a3766dd4c45364566def1dd0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/75fdda335eb0adbd464089e8a0184c61097808e0", "url": "https://api.github.com/repos/symfony/options-resolver/zipball/371532a2cfe932f7a3766dd4c45364566def1dd0",
"reference": "75fdda335eb0adbd464089e8a0184c61097808e0", "reference": "371532a2cfe932f7a3766dd4c45364566def1dd0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2534,20 +2534,20 @@
"configuration", "configuration",
"options" "options"
], ],
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-18T22:19:33+00:00"
}, },
{ {
"name": "symfony/phpunit-bridge", "name": "symfony/phpunit-bridge",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git", "url": "https://github.com/symfony/phpunit-bridge.git",
"reference": "61c84ebdce0d4c289413a222ee545f0114e60120" "reference": "c12fc01946942723ee824b5f09d241f5de15c037"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/61c84ebdce0d4c289413a222ee545f0114e60120", "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/c12fc01946942723ee824b5f09d241f5de15c037",
"reference": "61c84ebdce0d4c289413a222ee545f0114e60120", "reference": "c12fc01946942723ee824b5f09d241f5de15c037",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2567,6 +2567,10 @@
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "4.0-dev" "dev-master": "4.0-dev"
},
"thanks": {
"name": "phpunit/phpunit",
"url": "https://github.com/sebastianbergmann/phpunit"
} }
}, },
"autoload": { "autoload": {
@ -2596,20 +2600,20 @@
], ],
"description": "Symfony PHPUnit Bridge", "description": "Symfony PHPUnit Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-14T19:48:22+00:00" "time": "2018-01-21T19:06:11+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-icu", "name": "symfony/polyfill-intl-icu",
"version": "v1.6.0", "version": "v1.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git", "url": "https://github.com/symfony/polyfill-intl-icu.git",
"reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497" "reference": "254919c03761d46c29291616576ed003f10e91c1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d2bb2ef00dd8605d6fbd4db53ed4af1395953497", "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/254919c03761d46c29291616576ed003f10e91c1",
"reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497", "reference": "254919c03761d46c29291616576ed003f10e91c1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2622,7 +2626,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.6-dev" "dev-master": "1.7-dev"
} }
}, },
"autoload": { "autoload": {
@ -2654,20 +2658,20 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2017-10-11T12:05:26+00:00" "time": "2018-01-30T19:27:44+00:00"
}, },
{ {
"name": "symfony/polyfill-mbstring", "name": "symfony/polyfill-mbstring",
"version": "v1.6.0", "version": "v1.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git", "url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2679,7 +2683,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.6-dev" "dev-master": "1.7-dev"
} }
}, },
"autoload": { "autoload": {
@ -2713,20 +2717,20 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2017-10-11T12:05:26+00:00" "time": "2018-01-30T19:27:44+00:00"
}, },
{ {
"name": "symfony/polyfill-php72", "name": "symfony/polyfill-php72",
"version": "v1.6.0", "version": "v1.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php72.git", "url": "https://github.com/symfony/polyfill-php72.git",
"reference": "6de4f4884b97abbbed9f0a84a95ff2ff77254254" "reference": "8eca20c8a369e069d4f4c2ac9895144112867422"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/6de4f4884b97abbbed9f0a84a95ff2ff77254254", "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/8eca20c8a369e069d4f4c2ac9895144112867422",
"reference": "6de4f4884b97abbbed9f0a84a95ff2ff77254254", "reference": "8eca20c8a369e069d4f4c2ac9895144112867422",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2735,7 +2739,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.6-dev" "dev-master": "1.7-dev"
} }
}, },
"autoload": { "autoload": {
@ -2768,7 +2772,7 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2017-10-11T12:05:26+00:00" "time": "2018-01-31T17:43:24+00:00"
}, },
{ {
"name": "symfony/profiler-pack", "name": "symfony/profiler-pack",
@ -2800,16 +2804,16 @@
}, },
{ {
"name": "symfony/property-access", "name": "symfony/property-access",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/property-access.git", "url": "https://github.com/symfony/property-access.git",
"reference": "8dc059852b7bdd8b871eb3ca95b8d70be3b39488" "reference": "e0fef10eb7e11cae9421d8d89024dfeae0acffb7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/property-access/zipball/8dc059852b7bdd8b871eb3ca95b8d70be3b39488", "url": "https://api.github.com/repos/symfony/property-access/zipball/e0fef10eb7e11cae9421d8d89024dfeae0acffb7",
"reference": "8dc059852b7bdd8b871eb3ca95b8d70be3b39488", "reference": "e0fef10eb7e11cae9421d8d89024dfeae0acffb7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2863,20 +2867,20 @@
"property path", "property path",
"reflection" "reflection"
], ],
"time": "2017-12-14T00:19:09+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "972810def5cae044d19195045f7eb418141bf37b" "reference": "a69bd948700b672e036147762f46749bcae33796"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/972810def5cae044d19195045f7eb418141bf37b", "url": "https://api.github.com/repos/symfony/routing/zipball/a69bd948700b672e036147762f46749bcae33796",
"reference": "972810def5cae044d19195045f7eb418141bf37b", "reference": "a69bd948700b672e036147762f46749bcae33796",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2941,20 +2945,20 @@
"uri", "uri",
"url" "url"
], ],
"time": "2017-12-14T22:39:22+00:00" "time": "2018-01-16T18:04:12+00:00"
}, },
{ {
"name": "symfony/stopwatch", "name": "symfony/stopwatch",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/stopwatch.git", "url": "https://github.com/symfony/stopwatch.git",
"reference": "ac0e49150555c703fef6b696d8eaba1db7a3ca03" "reference": "d52321f0e2b596bd03b5d1dd6eebe71caa925704"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/ac0e49150555c703fef6b696d8eaba1db7a3ca03", "url": "https://api.github.com/repos/symfony/stopwatch/zipball/d52321f0e2b596bd03b5d1dd6eebe71caa925704",
"reference": "ac0e49150555c703fef6b696d8eaba1db7a3ca03", "reference": "d52321f0e2b596bd03b5d1dd6eebe71caa925704",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2990,20 +2994,20 @@
], ],
"description": "Symfony Stopwatch Component", "description": "Symfony Stopwatch Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-11-09T12:45:29+00:00" "time": "2018-01-03T07:38:00+00:00"
}, },
{ {
"name": "symfony/twig-bridge", "name": "symfony/twig-bridge",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/twig-bridge.git", "url": "https://github.com/symfony/twig-bridge.git",
"reference": "aeb221936ad39c579b7e002dfd4e7544a5d666f6" "reference": "81260f5539bdd7a4b5c39c55e197dae6daecc33f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/aeb221936ad39c579b7e002dfd4e7544a5d666f6", "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/81260f5539bdd7a4b5c39c55e197dae6daecc33f",
"reference": "aeb221936ad39c579b7e002dfd4e7544a5d666f6", "reference": "81260f5539bdd7a4b5c39c55e197dae6daecc33f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3080,20 +3084,20 @@
], ],
"description": "Symfony Twig Bridge", "description": "Symfony Twig Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-12T08:41:51+00:00" "time": "2018-01-18T22:19:33+00:00"
}, },
{ {
"name": "symfony/twig-bundle", "name": "symfony/twig-bundle",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/twig-bundle.git", "url": "https://github.com/symfony/twig-bundle.git",
"reference": "77381f8b99b319dc83e609c66942eb3a0a5b066d" "reference": "854b3ae1e761cf9443241119675c64e263ff21a7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/77381f8b99b319dc83e609c66942eb3a0a5b066d", "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/854b3ae1e761cf9443241119675c64e263ff21a7",
"reference": "77381f8b99b319dc83e609c66942eb3a0a5b066d", "reference": "854b3ae1e761cf9443241119675c64e263ff21a7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3101,7 +3105,7 @@
"symfony/config": "~3.4|~4.0", "symfony/config": "~3.4|~4.0",
"symfony/http-foundation": "~3.4|~4.0", "symfony/http-foundation": "~3.4|~4.0",
"symfony/http-kernel": "~3.4|~4.0", "symfony/http-kernel": "~3.4|~4.0",
"symfony/twig-bridge": "~3.4|~4.0", "symfony/twig-bridge": "^3.4.3|^4.0.3",
"twig/twig": "~1.34|~2.4" "twig/twig": "~1.34|~2.4"
}, },
"conflict": { "conflict": {
@ -3153,20 +3157,20 @@
], ],
"description": "Symfony TwigBundle", "description": "Symfony TwigBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-04T12:31:58+00:00" "time": "2018-01-29T09:06:29+00:00"
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-dumper.git", "url": "https://github.com/symfony/var-dumper.git",
"reference": "0991597a40f062bab7203efc2cc6cee9b3d44ed6" "reference": "6d63cc74f3e2d4961411ccb77389a00332653104"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/0991597a40f062bab7203efc2cc6cee9b3d44ed6", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6d63cc74f3e2d4961411ccb77389a00332653104",
"reference": "0991597a40f062bab7203efc2cc6cee9b3d44ed6", "reference": "6d63cc74f3e2d4961411ccb77389a00332653104",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3222,20 +3226,20 @@
"debug", "debug",
"dump" "dump"
], ],
"time": "2017-12-12T08:41:51+00:00" "time": "2018-01-29T09:06:29+00:00"
}, },
{ {
"name": "symfony/web-profiler-bundle", "name": "symfony/web-profiler-bundle",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git", "url": "https://github.com/symfony/web-profiler-bundle.git",
"reference": "81e20cbc7b998918a413fbf84a6f2cc770837e10" "reference": "2074348dba4b49ea86d7ee7eaf1b4fcacc887120"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/81e20cbc7b998918a413fbf84a6f2cc770837e10", "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/2074348dba4b49ea86d7ee7eaf1b4fcacc887120",
"reference": "81e20cbc7b998918a413fbf84a6f2cc770837e10", "reference": "2074348dba4b49ea86d7ee7eaf1b4fcacc887120",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3288,20 +3292,20 @@
], ],
"description": "Symfony WebProfilerBundle", "description": "Symfony WebProfilerBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-12T08:41:51+00:00" "time": "2018-01-10T11:36:17+00:00"
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/yaml.git",
"reference": "a5ee52d155f06ad23b19eb63c31228ff56ad1116" "reference": "ffc60bda1d4a00ec0b32eeabf39dc017bf480028"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/a5ee52d155f06ad23b19eb63c31228ff56ad1116", "url": "https://api.github.com/repos/symfony/yaml/zipball/ffc60bda1d4a00ec0b32eeabf39dc017bf480028",
"reference": "a5ee52d155f06ad23b19eb63c31228ff56ad1116", "reference": "ffc60bda1d4a00ec0b32eeabf39dc017bf480028",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3346,7 +3350,7 @@
], ],
"description": "Symfony Yaml Component", "description": "Symfony Yaml Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-12-12T08:41:51+00:00" "time": "2018-01-21T19:06:11+00:00"
}, },
{ {
"name": "twig/twig", "name": "twig/twig",
@ -3418,16 +3422,16 @@
"packages-dev": [ "packages-dev": [
{ {
"name": "symfony/dotenv", "name": "symfony/dotenv",
"version": "v4.0.2", "version": "v4.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dotenv.git", "url": "https://github.com/symfony/dotenv.git",
"reference": "ffcaeab01e42b0c40669add2aa8e77f79ddb9389" "reference": "afb6923923e22874dac20bd042167ccb8df1d158"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dotenv/zipball/ffcaeab01e42b0c40669add2aa8e77f79ddb9389", "url": "https://api.github.com/repos/symfony/dotenv/zipball/afb6923923e22874dac20bd042167ccb8df1d158",
"reference": "ffcaeab01e42b0c40669add2aa8e77f79ddb9389", "reference": "afb6923923e22874dac20bd042167ccb8df1d158",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3471,28 +3475,28 @@
"env", "env",
"environment" "environment"
], ],
"time": "2017-12-08T15:46:13+00:00" "time": "2018-01-03T17:15:19+00:00"
}, },
{ {
"name": "symfony/flex", "name": "symfony/flex",
"version": "v1.0.53", "version": "v1.0.68",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/flex.git", "url": "https://github.com/symfony/flex.git",
"reference": "cc4b1bac464597ce220d4f8208c38c75195e80c2" "reference": "0241b2acbb58df29e633b03fb56eb349a207613f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/flex/zipball/cc4b1bac464597ce220d4f8208c38c75195e80c2", "url": "https://api.github.com/repos/symfony/flex/zipball/0241b2acbb58df29e633b03fb56eb349a207613f",
"reference": "cc4b1bac464597ce220d4f8208c38c75195e80c2", "reference": "0241b2acbb58df29e633b03fb56eb349a207613f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-plugin-api": "^1.1", "composer-plugin-api": "^1.0",
"php": "^7.0" "php": "^7.0"
}, },
"require-dev": { "require-dev": {
"composer/composer": "^1.4", "composer/composer": "^1.0.2",
"symfony/phpunit-bridge": "^3.2.8" "symfony/phpunit-bridge": "^3.2.8"
}, },
"type": "composer-plugin", "type": "composer-plugin",
@ -3517,7 +3521,7 @@
"email": "fabien.potencier@gmail.com" "email": "fabien.potencier@gmail.com"
} }
], ],
"time": "2017-12-27T16:06:01+00:00" "time": "2018-01-31T19:34:57+00:00"
} }
], ],
"aliases": [], "aliases": [],

View File

@ -6,9 +6,9 @@ framework:
#trusted_hosts: ~ #trusted_hosts: ~
# uncomment this entire section to enable sessions # uncomment this entire section to enable sessions
#session: session:
# # With this config, PHP's native session handling is used # With this config, PHP's native session handling is used
# handler_id: ~ handler_id: ~
#esi: ~ #esi: ~
#fragments: ~ #fragments: ~

View File

@ -4,6 +4,8 @@ namespace CameraBundle\Controller;
use CameraBundle\Entity\Camera; use CameraBundle\Entity\Camera;
use CameraBundle\Form\CameraType; use CameraBundle\Form\CameraType;
use Doctrine\ORM\OptimisticLockException;
use Doctrine\ORM\ORMInvalidArgumentException;
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
@ -138,9 +140,12 @@ class CameraController extends Controller
* @Method("POST") * @Method("POST")
* @param Request $request * @param Request $request
* @param Camera $camera * @param Camera $camera
* @throws \LogicException
* @throws OptimisticLockException
* @throws ORMInvalidArgumentException
* @return RedirectResponse * @return RedirectResponse
*/ */
public function deacquireAction(Request $request, Camera $camera) public function deacquireAction(Request $request, Camera $camera): RedirectResponse
{ {
$form = $this->createDeacquireForm($camera); $form = $this->createDeacquireForm($camera);
$form->handleRequest($request); $form->handleRequest($request);

View File

@ -140,11 +140,9 @@ class LensesController extends Controller
$form = $this->createDeleteForm($lens); $form = $this->createDeleteForm($lens);
$form->handleRequest($request); $form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager();
$em = $this->getDoctrine()->getManager(); $em->remove($lens);
$em->remove($lens); $em->flush();
$em->flush();
}
return $this->redirectToRoute('lens_index'); return $this->redirectToRoute('lens_index');
} }
@ -159,7 +157,9 @@ class LensesController extends Controller
private function createDeleteForm(Lenses $lens): FormInterface private function createDeleteForm(Lenses $lens): FormInterface
{ {
return $this->createFormBuilder() return $this->createFormBuilder()
->setAction($this->generateUrl('lens_delete', array('id' => $lens->getId()))) ->setAction(
$this->generateUrl('lens_delete', ['id' => $lens->getId()])
)
->setMethod('DELETE') ->setMethod('DELETE')
->getForm(); ->getForm();
} }

View File

@ -4,10 +4,10 @@ namespace CameraBundle\Controller;
use CameraBundle\Entity\PreviouslyOwnedCamera; use CameraBundle\Entity\PreviouslyOwnedCamera;
use CameraBundle\Form\PreviouslyOwnedCameraType; use CameraBundle\Form\PreviouslyOwnedCameraType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\{Method, Route};
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Symfony\Component\Form\FormInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\{RedirectResponse, Request};
use Symfony\Component\HttpFoundation\Request;
/** /**
* Previouslyownedcamera controller. * Previouslyownedcamera controller.
@ -63,6 +63,8 @@ class PreviouslyOwnedCameraController extends Controller
$editForm = $this->createForm(PreviouslyOwnedCameraType::class, $previouslyOwnedCamera); $editForm = $this->createForm(PreviouslyOwnedCameraType::class, $previouslyOwnedCamera);
$editForm->handleRequest($request); $editForm->handleRequest($request);
$reacquireForm = $this->createReacquireForm($previouslyOwnedCamera);
if ($editForm->isSubmitted() && $editForm->isValid()) { if ($editForm->isSubmitted() && $editForm->isValid()) {
$this->getDoctrine()->getManager()->flush(); $this->getDoctrine()->getManager()->flush();
@ -72,6 +74,45 @@ class PreviouslyOwnedCameraController extends Controller
return $this->render('previouslyownedcamera/edit.html.twig', array( return $this->render('previouslyownedcamera/edit.html.twig', array(
'previouslyOwnedCamera' => $previouslyOwnedCamera, 'previouslyOwnedCamera' => $previouslyOwnedCamera,
'edit_form' => $editForm->createView(), 'edit_form' => $editForm->createView(),
'reacquire_form' => $reacquireForm->createView()
)); ));
} }
/**
* Moves a camera to the previouslyOwned table
*
* @Route("/{id}/reacquire", name="previously-owned-camera_reacquire")
* @Method("POST")
* @param Request $request
* @param PreviouslyOwnedCamera $camera
* @throws \LogicException
* @throws \Doctrine\ORM\ORMInvalidArgumentException
* @return RedirectResponse
*/
public function reacquireAction(Request $request, PreviouslyOwnedCamera $camera): RedirectResponse
{
$form = $this->createReacquireForm($camera);
$form->handleRequest($request);
$repository = $this->getDoctrine()->getRepository(PreviouslyOwnedCamera::class);
$repository->reacquire($camera);
return $this->redirectToRoute('previously-owned-camera_index');
}
/**
* Creates a form to move
*
* @param PreviouslyOwnedCamera $camera The camera entity
*
* @return FormInterface
*/
private function createReacquireForm(PreviouslyOwnedCamera $camera): FormInterface
{
return $this->createFormBuilder()
->setAction($this->generateUrl('previously-owned-camera_reacquire', ['id' => $camera->getId()]))
->setMethod('POST')
->getForm();
}
} }

View File

@ -22,7 +22,7 @@ class Camera
* @ORM\Column(name="id", type="integer", nullable=false) * @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id * @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY") * @ORM\GeneratedValue(strategy="IDENTITY")
* @ORM\SequenceGenerator(sequenceName="camera_id_seq", allocationSize=1, initialValue=1) * @ORM\SequenceGenerator(sequenceName="camera__id_seq", allocationSize=1, initialValue=1)
*/ */
private $id; private $id;

View File

@ -1,13 +1,20 @@
<?php <?php declare(strict_types=1);
namespace CameraBundle\Entity; namespace CameraBundle\Entity;
/**
* Trait CameraTrait
*
* Shared columns for camera, and previously_owned_camera tables
*
* @package CameraBundle\Entity
*/
trait CameraTrait trait CameraTrait
{ {
use PurchasePriceTrait; use PurchasePriceTrait;
/** /**
* @var \CameraType * @var CameraType
* *
* @ORM\ManyToOne(targetEntity="CameraType") * @ORM\ManyToOne(targetEntity="CameraType")
* @ORM\JoinColumns({ * @ORM\JoinColumns({
@ -112,7 +119,7 @@ trait CameraTrait
* *
* @return integer * @return integer
*/ */
public function getId() public function getId(): int
{ {
return $this->id; return $this->id;
} }
@ -120,11 +127,11 @@ trait CameraTrait
/** /**
* Set type * Set type
* *
* @param \CameraBundle\Entity\CameraType $type * @param CameraType $type
* *
* @return Camera * @return self
*/ */
public function setType(\CameraBundle\Entity\CameraType $type = null) public function setType(CameraType $type = null): self
{ {
$this->type = $type; $this->type = $type;
@ -134,9 +141,9 @@ trait CameraTrait
/** /**
* Get type * Get type
* *
* @return \CameraBundle\Entity\CameraType * @return CameraType
*/ */
public function getType() public function getType(): ?CameraType
{ {
return $this->type; return $this->type;
} }
@ -146,9 +153,9 @@ trait CameraTrait
* *
* @param string $brand * @param string $brand
* *
* @return Camera * @return self
*/ */
public function setBrand($brand) public function setBrand($brand): self
{ {
$this->brand = $brand; $this->brand = $brand;
@ -160,7 +167,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getBrand() public function getBrand(): ?string
{ {
return $this->brand; return $this->brand;
} }
@ -170,9 +177,9 @@ trait CameraTrait
* *
* @param string $mount * @param string $mount
* *
* @return Camera * @return self
*/ */
public function setMount($mount) public function setMount($mount): self
{ {
$this->mount = $mount; $this->mount = $mount;
@ -184,7 +191,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getMount() public function getMount(): ?string
{ {
return $this->mount; return $this->mount;
} }
@ -194,9 +201,9 @@ trait CameraTrait
* *
* @param string $model * @param string $model
* *
* @return Camera * @return self
*/ */
public function setModel($model) public function setModel($model): self
{ {
$this->model = $model; $this->model = $model;
@ -208,7 +215,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getModel() public function getModel(): ?string
{ {
return $this->model; return $this->model;
} }
@ -218,9 +225,9 @@ trait CameraTrait
* *
* @param boolean $isDigital * @param boolean $isDigital
* *
* @return Camera * @return self
*/ */
public function setIsDigital($isDigital) public function setIsDigital($isDigital): self
{ {
$this->isDigital = $isDigital; $this->isDigital = $isDigital;
@ -232,7 +239,7 @@ trait CameraTrait
* *
* @return boolean * @return boolean
*/ */
public function getIsDigital() public function getIsDigital(): ?bool
{ {
return $this->isDigital; return $this->isDigital;
} }
@ -242,9 +249,9 @@ trait CameraTrait
* *
* @param string $cropFactor * @param string $cropFactor
* *
* @return Camera * @return self
*/ */
public function setCropFactor($cropFactor) public function setCropFactor($cropFactor): self
{ {
$this->cropFactor = $cropFactor; $this->cropFactor = $cropFactor;
@ -256,7 +263,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getCropFactor() public function getCropFactor(): string
{ {
return $this->cropFactor; return $this->cropFactor;
} }
@ -266,9 +273,9 @@ trait CameraTrait
* *
* @param boolean $isWorking * @param boolean $isWorking
* *
* @return Camera * @return self
*/ */
public function setIsWorking($isWorking) public function setIsWorking($isWorking): self
{ {
$this->isWorking = $isWorking; $this->isWorking = $isWorking;
@ -280,7 +287,7 @@ trait CameraTrait
* *
* @return boolean * @return boolean
*/ */
public function getIsWorking() public function getIsWorking(): ?bool
{ {
return $this->isWorking; return $this->isWorking;
} }
@ -290,9 +297,9 @@ trait CameraTrait
* *
* @param string $notes * @param string $notes
* *
* @return Camera * @return self
*/ */
public function setNotes($notes) public function setNotes($notes): self
{ {
$this->notes = $notes; $this->notes = $notes;
@ -304,7 +311,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getNotes() public function getNotes(): ?string
{ {
return $this->notes; return $this->notes;
} }
@ -314,9 +321,9 @@ trait CameraTrait
* *
* @param string $serial * @param string $serial
* *
* @return Camera * @return self
*/ */
public function setSerial($serial) public function setSerial($serial): self
{ {
$this->serial = $serial; $this->serial = $serial;
@ -328,7 +335,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getSerial() public function getSerial(): ?string
{ {
return $this->serial; return $this->serial;
} }
@ -338,9 +345,9 @@ trait CameraTrait
* *
* @param boolean $formerlyOwned * @param boolean $formerlyOwned
* *
* @return Camera * @return self
*/ */
public function setFormerlyOwned($formerlyOwned) public function setFormerlyOwned($formerlyOwned): self
{ {
$this->formerlyOwned = $formerlyOwned; $this->formerlyOwned = $formerlyOwned;
@ -352,7 +359,7 @@ trait CameraTrait
* *
* @return boolean * @return boolean
*/ */
public function getFormerlyOwned() public function getFormerlyOwned(): ?bool
{ {
return $this->formerlyOwned; return $this->formerlyOwned;
} }
@ -362,9 +369,9 @@ trait CameraTrait
* *
* @param string $batteryType * @param string $batteryType
* *
* @return Camera * @return self
*/ */
public function setBatteryType($batteryType) public function setBatteryType($batteryType): self
{ {
$this->batteryType = $batteryType; $this->batteryType = $batteryType;
@ -376,7 +383,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getBatteryType() public function getBatteryType(): ?string
{ {
return $this->batteryType; return $this->batteryType;
} }
@ -386,9 +393,9 @@ trait CameraTrait
* *
* @param string $filmFormat * @param string $filmFormat
* *
* @return Camera * @return self
*/ */
public function setFilmFormat($filmFormat) public function setFilmFormat($filmFormat): self
{ {
$this->filmFormat = $filmFormat; $this->filmFormat = $filmFormat;
@ -400,7 +407,7 @@ trait CameraTrait
* *
* @return string * @return string
*/ */
public function getFilmFormat() public function getFilmFormat(): string
{ {
return $this->filmFormat; return $this->filmFormat;
} }
@ -410,9 +417,9 @@ trait CameraTrait
* *
* @param boolean $received * @param boolean $received
* *
* @return Camera * @return self
*/ */
public function setReceived($received) public function setReceived($received): self
{ {
$this->received = $received; $this->received = $received;
@ -424,7 +431,7 @@ trait CameraTrait
* *
* @return boolean * @return boolean
*/ */
public function getReceived() public function getReceived(): bool
{ {
return $this->received; return $this->received;
} }

View File

@ -83,6 +83,13 @@ trait LensTrait
*/ */
private $notes; private $notes;
/**
* @var string
*
* @ORM\Column(name="image_size", type="string", nullable=false, options={"default"="35mm"})
*/
private $imageSize = '35mm';
/** /**
* @var string * @var string
* *
@ -138,7 +145,7 @@ trait LensTrait
* *
* @return integer * @return integer
*/ */
public function getId() public function getId(): int
{ {
return $this->id; return $this->id;
} }
@ -148,9 +155,9 @@ trait LensTrait
* *
* @param string $brand * @param string $brand
* *
* @return Lenses * @return self
*/ */
public function setBrand($brand) public function setBrand($brand): self
{ {
$this->brand = $brand; $this->brand = $brand;
@ -172,9 +179,9 @@ trait LensTrait
* *
* @param string $coatings * @param string $coatings
* *
* @return Lenses * @return self
*/ */
public function setCoatings($coatings) public function setCoatings($coatings): self
{ {
$this->coatings = $coatings; $this->coatings = $coatings;
@ -196,9 +203,9 @@ trait LensTrait
* *
* @param string $productLine * @param string $productLine
* *
* @return Lenses * @return self
*/ */
public function setProductLine($productLine) public function setProductLine($productLine): self
{ {
$this->productLine = $productLine; $this->productLine = $productLine;
@ -220,9 +227,9 @@ trait LensTrait
* *
* @param string $model * @param string $model
* *
* @return Lenses * @return self
*/ */
public function setModel($model) public function setModel($model): self
{ {
$this->model = $model; $this->model = $model;
@ -244,9 +251,9 @@ trait LensTrait
* *
* @param string $minFStop * @param string $minFStop
* *
* @return Lenses * @return self
*/ */
public function setMinFStop($minFStop) public function setMinFStop($minFStop): self
{ {
$this->minFStop = $minFStop; $this->minFStop = $minFStop;
@ -268,9 +275,9 @@ trait LensTrait
* *
* @param float $maxFStop * @param float $maxFStop
* *
* @return Lenses * @return self
*/ */
public function setMaxFStop($maxFStop) public function setMaxFStop($maxFStop): self
{ {
$this->maxFStop = $maxFStop; $this->maxFStop = $maxFStop;
@ -292,9 +299,9 @@ trait LensTrait
* *
* @param integer $minFocalLength * @param integer $minFocalLength
* *
* @return Lenses * @return self
*/ */
public function setMinFocalLength($minFocalLength) public function setMinFocalLength($minFocalLength): self
{ {
$this->minFocalLength = $minFocalLength; $this->minFocalLength = $minFocalLength;
@ -316,9 +323,9 @@ trait LensTrait
* *
* @param integer $maxFocalLength * @param integer $maxFocalLength
* *
* @return Lenses * @return self
*/ */
public function setMaxFocalLength($maxFocalLength) public function setMaxFocalLength($maxFocalLength): self
{ {
$this->maxFocalLength = $maxFocalLength; $this->maxFocalLength = $maxFocalLength;
@ -340,9 +347,9 @@ trait LensTrait
* *
* @param string $serial * @param string $serial
* *
* @return Lenses * @return self
*/ */
public function setSerial($serial) public function setSerial($serial): self
{ {
$this->serial = $serial; $this->serial = $serial;
@ -364,9 +371,9 @@ trait LensTrait
* *
* @param string $notes * @param string $notes
* *
* @return Lenses * @return self
*/ */
public function setNotes($notes) public function setNotes(string $notes): self
{ {
$this->notes = $notes; $this->notes = $notes;
@ -378,19 +385,41 @@ trait LensTrait
* *
* @return string * @return string
*/ */
public function getNotes() public function getNotes(): ?string
{ {
return $this->notes; return $this->notes;
} }
/**
* Get image size
*
* @return string
*/
public function getImageSize(): string
{
return $this->imageSize;
}
/**
* Set image size
*
* @param string $imageSize
* @return self
*/
public function setImageSize(string $imageSize): self
{
$this->imageSize = $imageSize;
return $this;
}
/** /**
* Set mount * Set mount
* *
* @param string $mount * @param string $mount
* *
* @return Lenses * @return self
*/ */
public function setMount($mount) public function setMount($mount): self
{ {
$this->mount = $mount; $this->mount = $mount;
@ -412,9 +441,9 @@ trait LensTrait
* *
* @param boolean $received * @param boolean $received
* *
* @return Lenses * @return self
*/ */
public function setReceived($received) public function setReceived($received): self
{ {
$this->received = $received; $this->received = $received;
@ -436,9 +465,9 @@ trait LensTrait
* *
* @param boolean $formerlyOwned * @param boolean $formerlyOwned
* *
* @return Lenses * @return self
*/ */
public function setFormerlyOwned($formerlyOwned) public function setFormerlyOwned($formerlyOwned): self
{ {
$this->formerlyOwned = $formerlyOwned; $this->formerlyOwned = $formerlyOwned;
@ -460,9 +489,9 @@ trait LensTrait
* *
* @param string $frontFilterSize * @param string $frontFilterSize
* *
* @return Lenses * @return self
*/ */
public function setFrontFilterSize($frontFilterSize) public function setFrontFilterSize($frontFilterSize): self
{ {
$this->frontFilterSize = $frontFilterSize; $this->frontFilterSize = $frontFilterSize;
@ -484,9 +513,9 @@ trait LensTrait
* *
* @param string $rearFilterSize * @param string $rearFilterSize
* *
* @return Lenses * @return self
*/ */
public function setRearFilterSize($rearFilterSize) public function setRearFilterSize($rearFilterSize): self
{ {
$this->rearFilterSize = $rearFilterSize; $this->rearFilterSize = $rearFilterSize;
@ -508,9 +537,9 @@ trait LensTrait
* *
* @param boolean $isTeleconverter * @param boolean $isTeleconverter
* *
* @return Lenses * @return self
*/ */
public function setIsTeleconverter($isTeleconverter) public function setIsTeleconverter($isTeleconverter): self
{ {
$this->isTeleconverter = $isTeleconverter; $this->isTeleconverter = $isTeleconverter;
@ -532,9 +561,9 @@ trait LensTrait
* *
* @param integer $designElements * @param integer $designElements
* *
* @return Lenses * @return self
*/ */
public function setDesignElements($designElements) public function setDesignElements($designElements): self
{ {
$this->designElements = $designElements; $this->designElements = $designElements;
@ -556,9 +585,9 @@ trait LensTrait
* *
* @param integer $designGroups * @param integer $designGroups
* *
* @return Lenses * @return self
*/ */
public function setDesignGroups($designGroups) public function setDesignGroups($designGroups): self
{ {
$this->designGroups = $designGroups; $this->designGroups = $designGroups;
@ -580,9 +609,9 @@ trait LensTrait
* *
* @param integer $apertureBlades * @param integer $apertureBlades
* *
* @return Lenses * @return self
*/ */
public function setApertureBlades($apertureBlades) public function setApertureBlades($apertureBlades): self
{ {
$this->apertureBlades = $apertureBlades; $this->apertureBlades = $apertureBlades;
@ -594,7 +623,7 @@ trait LensTrait
* *
* @return integer * @return integer
*/ */
public function getApertureBlades() public function getApertureBlades(): ?int
{ {
return $this->apertureBlades; return $this->apertureBlades;
} }

View File

@ -8,7 +8,7 @@ use Doctrine\ORM\Mapping as ORM;
* Camera.previouslyOwnedCamera * Camera.previouslyOwnedCamera
* *
* @ORM\Table(name="previously_owned_camera", schema="camera", indexes={@ORM\Index(name="IDX_6EF94C6BC54C8C93", columns={"type_id"})}) * @ORM\Table(name="previously_owned_camera", schema="camera", indexes={@ORM\Index(name="IDX_6EF94C6BC54C8C93", columns={"type_id"})})
* @ORM\Entity * @ORM\Entity(repositoryClass="CameraBundle\Repository\CameraRepository")
*/ */
class PreviouslyOwnedCamera class PreviouslyOwnedCamera
{ {
@ -20,6 +20,7 @@ class PreviouslyOwnedCamera
* @ORM\Column(name="id", type="integer", nullable=false) * @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id * @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY") * @ORM\GeneratedValue(strategy="IDENTITY")
* @ORM\SequenceGenerator(sequenceName="prevously_owned_camera_id_seq", allocationSize=1, initialValue=1)
*/ */
private $id; private $id;
} }

View File

@ -8,7 +8,7 @@ use Doctrine\ORM\Mapping as ORM;
* Camera.previouslyOwnedLenses * Camera.previouslyOwnedLenses
* *
* @ORM\Table(name="previously_owned_lenses", schema="camera") * @ORM\Table(name="previously_owned_lenses", schema="camera")
* @ORM\Entity * @ORM\Entity(repositoryClass="CameraBundle\Repository\LensesRepository")
*/ */
class PreviouslyOwnedLenses class PreviouslyOwnedLenses
{ {

View File

@ -20,6 +20,7 @@ class LensesType extends AbstractType
->add('productLine') ->add('productLine')
->add('model') ->add('model')
->add('mount') ->add('mount')
->add('imageSize')
->add('minFStop') ->add('minFStop')
->add('maxFStop') ->add('maxFStop')
->add('minFocalLength') ->add('minFocalLength')

View File

@ -27,6 +27,7 @@ class PreviouslyOwnedLensesType extends AbstractType
->add('purchasePrice') ->add('purchasePrice')
->add('notes') ->add('notes')
->add('mount') ->add('mount')
->add('imageSize')
->add('received') ->add('received')
->add('formerlyOwned') ->add('formerlyOwned')
->add('frontFilterSize') ->add('frontFilterSize')

View File

@ -0,0 +1,42 @@
<?php declare(strict_types=1);
namespace CameraBundle\Repository;
trait AcquireTrait {
/**
* Move a record from the table represented by $currentRecord
* into the table represented by $newRecord
*
* @param mixed $currentRecord
* @param mixed $newRecord
*/
protected function moveRecord($currentRecord, $newRecord): void
{
$em = $this->getEntityManager();
$old = new \ReflectionObject($currentRecord);
$new = new \ReflectionObject($newRecord);
foreach ($old->getProperties() as $property) {
$propertyName = $property->getName();
if ($new->hasProperty($propertyName)) {
$newProperty = $new->getProperty($propertyName);
$newProperty->setAccessible(true);
$property->setAccessible(true);
$newProperty->setValue($newRecord, $property->getValue($currentRecord));
}
}
try
{
$em->persist($newRecord);
$em->remove($currentRecord);
$em->flush();
}
catch (\Throwable $e)
{
dump($newRecord);
}
}
}

View File

@ -1,41 +1,36 @@
<?php <?php declare(strict_types=1);
namespace CameraBundle\Repository; namespace CameraBundle\Repository;
use CameraBundle\Entity\{Camera, PreviouslyOwnedCamera}; use CameraBundle\Entity\{Camera, PreviouslyOwnedCamera};
use Doctrine\ORM\EntityRepository; use Doctrine\ORM\{
EntityRepository, ORMInvalidArgumentException
};
class CameraRepository extends EntityRepository {
use AcquireTrait;
class CameraRepository extends EntityRepository
{
/** /**
* @param Camera $currentRecord * @param Camera $currentRecord
* @throws \Doctrine\ORM\OptimisticLockException * @throws ORMInvalidArgumentException
*/ */
public function deacquire(Camera $currentRecord) public function deacquire(Camera $currentRecord)
{ {
$em = $this->getEntityManager(); $currentRecord->setFormerlyOwned(true)
->setReceived(true);
$currentRecord->setFormerlyOwned(true); $this->moveRecord($currentRecord, new PreviouslyOwnedCamera());
}
$newRecord = new PreviouslyOwnedCamera(); /**
* @param PreviouslyOwnedCamera $currentRecord
* @throws ORMInvalidArgumentException
*/
public function reacquire(PreviouslyOwnedCamera $currentRecord)
{
$currentRecord->setFormerlyOwned(false);
$old = new \ReflectionObject($currentRecord); $this->moveRecord($currentRecord, new Camera());
$new = new \ReflectionObject($newRecord);
foreach ($old->getProperties() as $property) {
$propertyName = $property->getName();
if ($new->hasProperty($propertyName)) {
$newProperty = $new->getProperty($propertyName);
$newProperty->setAccessible(true);
$property->setAccessible(true);
$newProperty->setValue($newRecord, $property->getValue($currentRecord));
}
}
// dump($newRecord);
$em->persist($newRecord);
//$em->remove($currentRecord);
$em->flush();
} }
} }

View File

@ -0,0 +1,36 @@
<?php declare(strict_types=1);
namespace CameraBundle\Repository;
use CameraBundle\Entity\{Flash, PreviouslyOwnedFlash};
use Doctrine\ORM\{
EntityRepository, ORMInvalidArgumentException
};
class FlashRepository extends EntityRepository {
use AcquireTrait;
/**
* @param Flash $currentRecord
* @throws ORMInvalidArgumentException
*/
public function deacquire(Flash $currentRecord)
{
$currentRecord->setFormerlyOwned(true)
->setReceived(true);
$this->moveRecord($currentRecord, new PreviouslyOwnedFlash());
}
/**
* @param PreviouslyOwnedFlash $currentRecord
* @throws ORMInvalidArgumentException
*/
public function reacquire(PreviouslyOwnedFlash $currentRecord)
{
$currentRecord->setFormerlyOwned(false);
$this->moveRecord($currentRecord, new Flash());
}
}

View File

@ -7,35 +7,26 @@ use Doctrine\ORM\EntityRepository;
class LensesRepository extends EntityRepository class LensesRepository extends EntityRepository
{ {
use AcquireTrait;
/** /**
* @param Lenses $currentRecord * @param Lenses $currentRecord
* @throws \Doctrine\ORM\OptimisticLockException
*/ */
public function deacquire(Lenses $currentRecord) public function deacquire(Lenses $currentRecord)
{ {
$em = $this->getEntityManager(); $currentRecord->setFormerlyOwned(true)
->setReceived(true);
$currentRecord->setFormerlyOwned(true); $this->moveRecord($currentRecord, new PreviouslyOwnedLenses());
}
$newRecord = new PreviouslyOwnedLenses(); /**
* @param PreviouslyOwnedLenses $currentRecord
*/
public function reacquire(PreviouslyOwnedLenses $currentRecord)
{
$currentRecord->setFormerlyOwned(false);
$old = new \ReflectionObject($currentRecord); $this->moveRecord($currentRecord, new Lenses());
$new = new \ReflectionObject($newRecord);
foreach ($old->getProperties() as $property) {
$propertyName = $property->getName();
if ($new->hasProperty($propertyName)) {
$newProperty = $new->getProperty($propertyName);
$newProperty->setAccessible(true);
$property->setAccessible(true);
$newProperty->setValue($newRecord, $property->getValue($currentRecord));
}
}
// dump($newRecord);
$em->persist($newRecord);
//$em->remove($currentRecord);
$em->flush();
} }
} }

View File

@ -9,7 +9,7 @@ use CameraBundle\ValueObject\Money;
class MoneyType extends Type { class MoneyType extends Type {
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform) public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform): string
{ {
return 'MONEY'; return 'MONEY';
} }
@ -19,13 +19,8 @@ class MoneyType extends Type {
return new Money($value); return new Money($value);
} }
public function convertToDatabaseValue($value, AbstractPlatform $platform) public function getName(): string
{
return $value;
}
public function getName()
{ {
return 'money'; return 'money';
} }
} }

View File

@ -1,100 +1,4 @@
{ {
"symfony/flex": {
"version": "1.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "1.0",
"ref": "e921bdbfe20cdefa3b82f379d1cd36df1bc8d115"
}
},
"psr/log": {
"version": "1.0.2"
},
"symfony/debug": {
"version": "v3.3.13"
},
"symfony/polyfill-mbstring": {
"version": "v1.6.0"
},
"symfony/console": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "9f94d3ea453cd8a3b95db7f82592d7344fe3a76a"
}
},
"symfony/routing": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "a249484db698d1a847a30291c8f732414ac47e25"
}
},
"symfony/http-foundation": {
"version": "v3.3.13"
},
"symfony/event-dispatcher": {
"version": "v3.3.13"
},
"symfony/http-kernel": {
"version": "v3.3.13"
},
"symfony/finder": {
"version": "v3.3.13"
},
"symfony/filesystem": {
"version": "v3.3.13"
},
"psr/container": {
"version": "1.0.0"
},
"symfony/dependency-injection": {
"version": "v3.3.13"
},
"symfony/config": {
"version": "v3.3.13"
},
"psr/simple-cache": {
"version": "1.0.0"
},
"psr/cache": {
"version": "1.0.1"
},
"symfony/cache": {
"version": "v3.3.13"
},
"symfony/framework-bundle": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "305b268e55e75059f20ec9827a8fd09a35c59866"
}
},
"symfony/yaml": {
"version": "v3.3.13"
},
"symfony/dotenv": {
"version": "v3.3.13"
},
"doctrine/cache": {
"version": "v1.7.1"
},
"doctrine/inflector": {
"version": "v1.2.0"
},
"doctrine/lexer": {
"version": "v1.0.1"
},
"doctrine/collections": {
"version": "v1.5.0"
},
"doctrine/annotations": { "doctrine/annotations": {
"version": "1.0", "version": "1.0",
"recipe": { "recipe": {
@ -104,18 +8,15 @@
"ref": "b9cde490c337f6c496d5f403fa6f827cf8b4706d" "ref": "b9cde490c337f6c496d5f403fa6f827cf8b4706d"
} }
}, },
"doctrine/cache": {
"version": "v1.7.1"
},
"doctrine/collections": {
"version": "v1.5.0"
},
"doctrine/common": { "doctrine/common": {
"version": "v2.8.1" "version": "v2.8.1"
}, },
"symfony/doctrine-bridge": {
"version": "v4.0.0"
},
"doctrine/doctrine-cache-bundle": {
"version": "1.3.2"
},
"jdorn/sql-formatter": {
"version": "v1.2.17"
},
"doctrine/dbal": { "doctrine/dbal": {
"version": "v2.6.3" "version": "v2.6.3"
}, },
@ -128,18 +29,132 @@
"ref": "44d3aa7752dd46f77ba11af2297a25e1dedfb4d0" "ref": "44d3aa7752dd46f77ba11af2297a25e1dedfb4d0"
} }
}, },
"doctrine/doctrine-cache-bundle": {
"version": "1.3.2"
},
"doctrine/inflector": {
"version": "v1.2.0"
},
"doctrine/instantiator": { "doctrine/instantiator": {
"version": "1.1.0" "version": "1.1.0"
}, },
"doctrine/lexer": {
"version": "v1.0.1"
},
"doctrine/orm": { "doctrine/orm": {
"version": "v2.5.13" "version": "v2.5.13"
}, },
"twig/twig": { "easycorp/easy-log-handler": {
"version": "v2.4.4" "version": "1.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "1.0",
"ref": "70062abc2cd58794d2a90274502f81b55cd9951b"
}
},
"jdorn/sql-formatter": {
"version": "v1.2.17"
}, },
"monolog/monolog": { "monolog/monolog": {
"version": "1.23.0" "version": "1.23.0"
}, },
"psr/cache": {
"version": "1.0.1"
},
"psr/container": {
"version": "1.0.0"
},
"psr/log": {
"version": "1.0.2"
},
"psr/simple-cache": {
"version": "1.0.0"
},
"sensio/framework-extra-bundle": {
"version": "v3.0.28"
},
"symfony/cache": {
"version": "v3.3.13"
},
"symfony/config": {
"version": "v3.3.13"
},
"symfony/console": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "9f94d3ea453cd8a3b95db7f82592d7344fe3a76a"
}
},
"symfony/debug": {
"version": "v3.3.13"
},
"symfony/debug-bundle": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "de31e687f3964939abd1f66817bd96ed34bc2eee"
}
},
"symfony/debug-pack": {
"version": "v1.0.3"
},
"symfony/dependency-injection": {
"version": "v3.3.13"
},
"symfony/doctrine-bridge": {
"version": "v4.0.0"
},
"symfony/dotenv": {
"version": "v3.3.13"
},
"symfony/event-dispatcher": {
"version": "v3.3.13"
},
"symfony/filesystem": {
"version": "v3.3.13"
},
"symfony/finder": {
"version": "v3.3.13"
},
"symfony/flex": {
"version": "1.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "1.0",
"ref": "e921bdbfe20cdefa3b82f379d1cd36df1bc8d115"
}
},
"symfony/form": {
"version": "v4.0.0"
},
"symfony/framework-bundle": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "305b268e55e75059f20ec9827a8fd09a35c59866"
}
},
"symfony/http-foundation": {
"version": "v3.3.13"
},
"symfony/http-kernel": {
"version": "v3.3.13"
},
"symfony/inflector": {
"version": "v4.0.0"
},
"symfony/intl": {
"version": "v4.0.0"
},
"symfony/monolog-bridge": { "symfony/monolog-bridge": {
"version": "v4.0.0" "version": "v4.0.0"
}, },
@ -152,8 +167,44 @@
"ref": "c24944bd87dacf0bb8fa218dc21e4a70fff56882" "ref": "c24944bd87dacf0bb8fa218dc21e4a70fff56882"
} }
}, },
"sensio/framework-extra-bundle": { "symfony/options-resolver": {
"version": "v3.0.28" "version": "v4.0.0"
},
"symfony/phpunit-bridge": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "55a81726745b54cc6f8d845f1a094ed7d9ed2e32"
}
},
"symfony/polyfill-intl-icu": {
"version": "v1.6.0"
},
"symfony/polyfill-mbstring": {
"version": "v1.6.0"
},
"symfony/polyfill-php72": {
"version": "v1.6.0"
},
"symfony/profiler-pack": {
"version": "v1.0.2"
},
"symfony/property-access": {
"version": "v4.0.0"
},
"symfony/routing": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "a249484db698d1a847a30291c8f732414ac47e25"
}
},
"symfony/stopwatch": {
"version": "v4.0.0"
}, },
"symfony/twig-bridge": { "symfony/twig-bridge": {
"version": "v4.0.0" "version": "v4.0.0"
@ -167,39 +218,9 @@
"ref": "f75ac166398e107796ca94cc57fa1edaa06ec47f" "ref": "f75ac166398e107796ca94cc57fa1edaa06ec47f"
} }
}, },
"symfony/inflector": {
"version": "v4.0.0"
},
"symfony/property-access": {
"version": "v4.0.0"
},
"symfony/options-resolver": {
"version": "v4.0.0"
},
"symfony/intl": {
"version": "v4.0.0"
},
"symfony/polyfill-intl-icu": {
"version": "v1.6.0"
},
"symfony/form": {
"version": "v4.0.0"
},
"symfony/polyfill-php72": {
"version": "v1.6.0"
},
"symfony/var-dumper": { "symfony/var-dumper": {
"version": "v4.0.0" "version": "v4.0.0"
}, },
"symfony/phpunit-bridge": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "55a81726745b54cc6f8d845f1a094ed7d9ed2e32"
}
},
"symfony/web-profiler-bundle": { "symfony/web-profiler-bundle": {
"version": "3.3", "version": "3.3",
"recipe": { "recipe": {
@ -209,31 +230,10 @@
"ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6" "ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6"
} }
}, },
"symfony/stopwatch": { "symfony/yaml": {
"version": "v4.0.0" "version": "v3.3.13"
}, },
"symfony/profiler-pack": { "twig/twig": {
"version": "v1.0.2" "version": "v2.4.4"
},
"easycorp/easy-log-handler": {
"version": "1.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "1.0",
"ref": "70062abc2cd58794d2a90274502f81b55cd9951b"
}
},
"symfony/debug-bundle": {
"version": "3.3",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "master",
"version": "3.3",
"ref": "de31e687f3964939abd1f66817bd96ed34bc2eee"
}
},
"symfony/debug-pack": {
"version": "v1.0.3"
} }
} }

View File

@ -1,26 +1,26 @@
{% set route = app.request.get('_route') %} {% set route = app.request.get('_route') %}
<!DOCTYPE html> <!DOCTYPE html>
<html class="no-js" lang="en"> <html class="no-js" lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge"> <meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}Welcome!{% endblock %}</title> <title>{% block title %}Welcome!{% endblock %}</title>
<link rel="stylesheet" href="/css/foundation.min.css" /> <link rel="stylesheet" href="/css/foundation.min.css" />
<link rel="stylesheet" href="/css/app.css" /> <link rel="stylesheet" href="/css/app.css" />
{% block stylesheets %}{% endblock %} {% block stylesheets %}{% endblock %}
<link rel="icon" type="image/x-icon" href="/favicon.ico" /> <link rel="icon" type="image/x-icon" href="/favicon.ico" />
</head> </head>
<body> <body>
<main class="page-pad"> <main class="page-pad">
{% include 'header.html.twig' %} {% include 'header.html.twig' %}
{% block body %}{% endblock %} {% block body %}{% endblock %}
</main> </main>
<script src="/js/vendor/jquery.js"></script> <script src="/js/vendor/jquery.js"></script>
<script src="/js/vendor/what-input.js"></script> <script src="/js/vendor/what-input.js"></script>
<script src="/js/vendor/foundation.min.js"></script> <script src="/js/vendor/foundation.min.js"></script>
<script src="/js/table-sort.js"></script> <script src="/js/table-sort.js"></script>
<script src="/js/app.js"></script> <script src="/js/app.js"></script>
{% block javascripts %}{% endblock %} {% block javascripts %}{% endblock %}
</body> </body>
</html> </html>

View File

@ -1,23 +1,23 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h1>Edit Camera</h1> <h1>Edit Camera</h1>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('camera_index') }}">Back to the list</a> <a href="{{ path('camera_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(edit_form) }} {{ form_start(edit_form) }}
{{ form_widget(edit_form) }} {{ form_widget(edit_form) }}
<button type="submit" class="success button">Update</button> <button type="submit" class="success button">Update</button>
{{ form_end(edit_form) }} {{ form_end(edit_form) }}
<hr /> <hr />
{{ form_start(deacquire_form) }} {{ form_start(deacquire_form) }}
{{ form_widget(deacquire_form) }} {{ form_widget(deacquire_form) }}
@ -26,8 +26,8 @@
<hr /> <hr />
{{ form_start(delete_form) }} {{ form_start(delete_form) }}
<button type="submit" class="alert button">Delete</button> <button type="submit" class="alert button">Delete</button>
{{ form_end(delete_form) }} {{ form_end(delete_form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,65 +1,65 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<h2>Cameras</h2> <h2>Cameras</h2>
<div class="small callout primary"> <div class="small callout primary">
<ul> <ul>
<li> <li>
<a href="{{ path('camera_new') }}">Add a Camera</a> <a href="{{ path('camera_new') }}">Add a Camera</a>
</li> </li>
</ul> </ul>
</div> </div>
<table class="hover scroll stack"> <table class="hover scroll stack">
<thead> <thead>
<tr> <tr>
<th>Actions</th> <th>Actions</th>
<th>Id</th> <th>Id</th>
<th>Brand</th> <th>Brand</th>
<th>Mount</th> <th>Mount</th>
<th>Model</th> <th>Model</th>
<th>Is Digital?</th> <th>Is Digital?</th>
<th>Crop Factor</th> <th>Crop Factor</th>
<th>Is Working?</th> <th>Is Working?</th>
<th>Notes</th> <th>Notes</th>
<th>Serial</th> <th>Serial</th>
<th>Formerly Owned?</th> <th>Formerly Owned?</th>
<th>Purchase Price</th> <th>Purchase Price</th>
<th>Battery Type</th> <th>Battery Type</th>
<th>Film Format</th> <th>Film Format</th>
<th>Received</th> <th>Received</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for camera in cameras %} {% for camera in cameras %}
<tr> <tr>
<td> <td>
<ul> <ul>
<li> <li>
<a href="{{ path('camera_edit', { 'id': camera.id }) }}">edit</a> <a href="{{ path('camera_edit', { 'id': camera.id }) }}">edit</a>
</li> </li>
</ul> </ul>
</td> </td>
<td><a href="{{ path('camera_show', { 'id': camera.id }) }}">{{ camera.id }}</a></td> <td><a href="{{ path('camera_show', { 'id': camera.id }) }}">{{ camera.id }}</a></td>
<td>{{ camera.brand }}</td> <td>{{ camera.brand }}</td>
<td>{{ camera.mount }}</td> <td>{{ camera.mount }}</td>
<td>{{ camera.model }}</td> <td>{{ camera.model }}</td>
<td>{% if camera.isDigital %}Yes{% else %}No{% endif %}</td> <td>{% if camera.isDigital %}Yes{% else %}No{% endif %}</td>
<td>{{ camera.cropFactor }}</td> <td>{{ camera.cropFactor }}</td>
<td>{% if camera.isWorking %}Yes{% else %}No{% endif %}</td> <td>{% if camera.isWorking %}Yes{% else %}No{% endif %}</td>
<td>{{ camera.notes }}</td> <td>{{ camera.notes }}</td>
<td>{{ camera.serial }}</td> <td>{{ camera.serial }}</td>
<td>{% if camera.formerlyOwned %}Yes{% else %}No{% endif %}</td> <td>{% if camera.formerlyOwned %}Yes{% else %}No{% endif %}</td>
<td>${{ camera.purchasePrice }}</td> <td>${{ camera.purchasePrice }}</td>
<td>{{ camera.batteryType }}</td> <td>{{ camera.batteryType }}</td>
<td>{{ camera.filmFormat }}</td> <td>{{ camera.filmFormat }}</td>
<td>{% if camera.received %}Yes{% else %}No{% endif %}</td> <td>{% if camera.received %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% endblock %} {% endblock %}

View File

@ -1,21 +1,21 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Add a Camera</h2> <h2>Add a Camera</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('camera_index') }}">Back to the list</a> <a href="{{ path('camera_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(form) }} {{ form_start(form) }}
{{ form_widget(form) }} {{ form_widget(form) }}
<button type="submit" class="success button">Add</button> <button type="submit" class="success button">Add</button>
{{ form_end(form) }} {{ form_end(form) }}
</div> </div>

View File

@ -1,89 +1,89 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Camera</h2> <h2>Camera</h2>
<div class="callout"> <div class="callout">
<ul> <ul>
<li> <li>
<a href="{{ path('camera_index') }}">Back to the list</a> <a href="{{ path('camera_index') }}">Back to the list</a>
</li> </li>
<li> <li>
<a href="{{ path('camera_edit', { 'id': camera.id }) }}">Edit</a> <a href="{{ path('camera_edit', { 'id': camera.id }) }}">Edit</a>
</li> </li>
</ul> </ul>
<hr /> <hr />
{{ form_start(delete_form) }} {{ form_start(delete_form) }}
<button type="submit" class="alert button">Delete Camera</button> <button type="submit" class="alert button">Delete Camera</button>
{{ form_end(delete_form) }} {{ form_end(delete_form) }}
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<th>Id</th> <th>Id</th>
<td>{{ camera.id }}</td> <td>{{ camera.id }}</td>
</tr> </tr>
<tr> <tr>
<th>Brand</th> <th>Brand</th>
<td>{{ camera.brand }}</td> <td>{{ camera.brand }}</td>
</tr> </tr>
<tr> <tr>
<th>Mount</th> <th>Mount</th>
<td>{{ camera.mount }}</td> <td>{{ camera.mount }}</td>
</tr> </tr>
<tr> <tr>
<th>Model</th> <th>Model</th>
<td>{{ camera.model }}</td> <td>{{ camera.model }}</td>
</tr> </tr>
<tr> <tr>
<th>Is Digital?</th> <th>Is Digital?</th>
<td>{% if camera.isDigital %}Yes{% else %}No{% endif %}</td> <td>{% if camera.isDigital %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Crop Factor</th> <th>Crop Factor</th>
<td>{{ camera.cropFactor }}</td> <td>{{ camera.cropFactor }}</td>
</tr> </tr>
<tr> <tr>
<th>Is Working?</th> <th>Is Working?</th>
<td>{% if camera.isWorking %}Yes{% else %}No{% endif %}</td> <td>{% if camera.isWorking %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Notes</th> <th>Notes</th>
<td>{{ camera.notes }}</td> <td>{{ camera.notes }}</td>
</tr> </tr>
<tr> <tr>
<th>Serial</th> <th>Serial</th>
<td>{{ camera.serial }}</td> <td>{{ camera.serial }}</td>
</tr> </tr>
<tr> <tr>
<th>Formerly Owned?</th> <th>Formerly Owned?</th>
<td>{% if camera.formerlyOwned %}Yes{% else %}No{% endif %}</td> <td>{% if camera.formerlyOwned %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Purchase Price</th> <th>Purchase Price</th>
<td>{{ camera.purchasePrice }}</td> <td>{{ camera.purchasePrice }}</td>
</tr> </tr>
<tr> <tr>
<th>Battery Type</th> <th>Battery Type</th>
<td>{{ camera.batteryType }}</td> <td>{{ camera.batteryType }}</td>
</tr> </tr>
<tr> <tr>
<th>Film Format</th> <th>Film Format</th>
<td>{{ camera.filmFormat }}</td> <td>{{ camera.filmFormat }}</td>
</tr> </tr>
<tr> <tr>
<th>Received</th> <th>Received</th>
<td>{% if camera.received %}Yes{% else %}No{% endif %}</td> <td>{% if camera.received %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -1,26 +1,26 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Edit Camera Type</h2> <h2>Edit Camera Type</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('camera-type_index') }}">Back to the list</a> <a href="{{ path('camera-type_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large callout primary"> <div class="large callout primary">
{{ form_start(edit_form) }} {{ form_start(edit_form) }}
{{ form_widget(edit_form) }} {{ form_widget(edit_form) }}
<button type="submit" class="success button">Save</button> <button type="submit" class="success button">Save</button>
{{ form_end(edit_form) }} {{ form_end(edit_form) }}
<hr /> <hr />
{{ form_start(delete_form) }} {{ form_start(delete_form) }}
<button type="submit" class="alert button">Delete</button> <button type="submit" class="alert button">Delete</button>
{{ form_end(delete_form) }} {{ form_end(delete_form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,40 +1,40 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<h2>Camera Types</h2> <h2>Camera Types</h2>
<div class="small primary callout"> <div class="small primary callout">
<ul> <ul>
<li> <li>
<a href="{{ path('camera-type_new') }}">Add a Camera Type</a> <a href="{{ path('camera-type_new') }}">Add a Camera Type</a>
</li> </li>
</ul> </ul>
</div> </div>
<table class="hover scroll stack"> <table class="hover scroll stack">
<thead> <thead>
<tr> <tr>
<th>Actions</th> <th>Actions</th>
<th>Id</th> <th>Id</th>
<th>Type</th> <th>Type</th>
<th>Description</th> <th>Description</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for cameraType in cameraTypes %} {% for cameraType in cameraTypes %}
<tr> <tr>
<td> <td>
<ul> <ul>
<li> <li>
<a href="{{ path('camera-type_edit', { 'id': cameraType.id }) }}">edit</a> <a href="{{ path('camera-type_edit', { 'id': cameraType.id }) }}">edit</a>
</li> </li>
</ul> </ul>
</td> </td>
<td><a href="{{ path('camera-type_show', { 'id': cameraType.id }) }}">{{ cameraType.id }}</a></td> <td><a href="{{ path('camera-type_show', { 'id': cameraType.id }) }}">{{ cameraType.id }}</a></td>
<td>{{ cameraType.type }}</td> <td>{{ cameraType.type }}</td>
<td>{{ cameraType.description }}</td> <td>{{ cameraType.description }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% endblock %} {% endblock %}

View File

@ -1,20 +1,20 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Add a Camera Type</h2> <h2>Add a Camera Type</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('camera-type_index') }}">Back to the list</a> <a href="{{ path('camera-type_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(form) }} {{ form_start(form) }}
{{ form_widget(form) }} {{ form_widget(form) }}
<button type="submit" class="success button">Add</button> <button type="submit" class="success button">Add</button>
{{ form_end(form) }} {{ form_end(form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,26 +1,26 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Flash edit</h2> <h2>Flash edit</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('flash_index') }}">Back to the list</a> <a href="{{ path('flash_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(edit_form) }} {{ form_start(edit_form) }}
{{ form_widget(edit_form) }} {{ form_widget(edit_form) }}
<button type="submit" class="success button">Update</button> <button type="submit" class="success button">Update</button>
{{ form_end(edit_form) }} {{ form_end(edit_form) }}
<hr /> <hr />
{{ form_start(delete_form) }} {{ form_start(delete_form) }}
<button type="submit" class="alert button">Delete Flash</button> <button type="submit" class="alert button">Delete Flash</button>
{{ form_end(delete_form) }} {{ form_end(delete_form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,64 +1,64 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<h2>Flashes list</h2> <h2>Flashes list</h2>
<div class="small primary callout"> <div class="small primary callout">
<ul> <ul>
<li> <li>
<a href="{{ path('flash_new') }}">Add a Flash</a> <a href="{{ path('flash_new') }}">Add a Flash</a>
</li> </li>
</ul> </ul>
</div> </div>
<table class="hover scroll stack"> <table class="hover scroll stack">
<thead> <thead>
<tr> <tr>
<th>Actions</th> <th>Actions</th>
<th>Id</th> <th>Id</th>
<th>Brand</th> <th>Brand</th>
<th>Model</th> <th>Model</th>
<th>Is Auto Flash?</th> <th>Is Auto Flash?</th>
<th>Is TTL?</th> <th>Is TTL?</th>
<th>TTL Type</th> <th>TTL Type</th>
<th>Is P-TTL?</th> <th>Is P-TTL?</th>
<th>P-TTL type</th> <th>P-TTL type</th>
<th>Guide Number</th> <th>Guide Number</th>
<th>Purchase Price</th> <th>Purchase Price</th>
<th>Received</th> <th>Received</th>
<th>Batteries</th> <th>Batteries</th>
<th>Notes</th> <th>Notes</th>
<th>Serial</th> <th>Serial</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for flash in flashes %} {% for flash in flashes %}
<tr> <tr>
<td> <td>
<ul> <ul>
<li> <li>
<a href="{{ path('flash_edit', { 'id': flash.id }) }}">edit</a> <a href="{{ path('flash_edit', { 'id': flash.id }) }}">edit</a>
</li> </li>
</ul> </ul>
</td> </td>
<td><a href="{{ path('flash_show', { 'id': flash.id }) }}">{{ flash.id }}</a></td> <td><a href="{{ path('flash_show', { 'id': flash.id }) }}">{{ flash.id }}</a></td>
<td>{{ flash.brand }}</td> <td>{{ flash.brand }}</td>
<td>{{ flash.model }}</td> <td>{{ flash.model }}</td>
<td>{% if flash.isAutoFlash %}Yes{% else %}No{% endif %}</td> <td>{% if flash.isAutoFlash %}Yes{% else %}No{% endif %}</td>
<td>{% if flash.isTtl %}Yes{% else %}No{% endif %}</td> <td>{% if flash.isTtl %}Yes{% else %}No{% endif %}</td>
<td>{{ flash.ttlType }}</td> <td>{{ flash.ttlType }}</td>
<td>{% if flash.isPTtl %}Yes{% else %}No{% endif %}</td> <td>{% if flash.isPTtl %}Yes{% else %}No{% endif %}</td>
<td>{{ flash.pTtlType }}</td> <td>{{ flash.pTtlType }}</td>
<td>{{ flash.guideNumber }}</td> <td>{{ flash.guideNumber }}</td>
<td>${{ flash.purchasePrice }}</td> <td>${{ flash.purchasePrice }}</td>
<td>{% if flash.received %}Yes{% else %}No{% endif %}</td> <td>{% if flash.received %}Yes{% else %}No{% endif %}</td>
<td>{{ flash.batteries }}</td> <td>{{ flash.batteries }}</td>
<td>{{ flash.notes }}</td> <td>{{ flash.notes }}</td>
<td>{{ flash.serial }}</td> <td>{{ flash.serial }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% endblock %} {% endblock %}

View File

@ -1,21 +1,21 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Add a Flash</h2> <h2>Add a Flash</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('flash_index') }}">Back to the list</a> <a href="{{ path('flash_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(form) }} {{ form_start(form) }}
{{ form_widget(form) }} {{ form_widget(form) }}
<button type="submit" class="success button">Add</button> <button type="submit" class="success button">Add</button>
{{ form_end(form) }} {{ form_end(form) }}
</div> </div>

View File

@ -1,83 +1,83 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Flash</h2> <h2>Flash</h2>
<div class="callout"> <div class="callout">
<ul> <ul>
<li> <li>
<a href="{{ path('flash_index') }}">Back to the list</a> <a href="{{ path('flash_index') }}">Back to the list</a>
</li> </li>
<li> <li>
<a href="{{ path('flash_edit', { 'id': flash.id }) }}">Edit</a> <a href="{{ path('flash_edit', { 'id': flash.id }) }}">Edit</a>
</li> </li>
</ul> </ul>
<hr /> <hr />
{{ form_start(delete_form) }} {{ form_start(delete_form) }}
<button type="submit" class="alert button">Delete Flash</button> <button type="submit" class="alert button">Delete Flash</button>
{{ form_end(delete_form) }} {{ form_end(delete_form) }}
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<th>Id</th> <th>Id</th>
<td>{{ flash.id }}</td> <td>{{ flash.id }}</td>
</tr> </tr>
<tr> <tr>
<th>Brand</th> <th>Brand</th>
<td>{{ flash.brand }}</td> <td>{{ flash.brand }}</td>
</tr> </tr>
<tr> <tr>
<th>Model</th> <th>Model</th>
<td>{{ flash.model }}</td> <td>{{ flash.model }}</td>
</tr> </tr>
<tr> <tr>
<th>Is Auto Flash?</th> <th>Is Auto Flash?</th>
<td>{% if flash.isAutoFlash %}Yes{% else %}No{% endif %}</td> <td>{% if flash.isAutoFlash %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Is TTL?</th> <th>Is TTL?</th>
<td>{% if flash.isTtl %}Yes{% else %}No{% endif %}</td> <td>{% if flash.isTtl %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>TTL Type</th> <th>TTL Type</th>
<td>{{ flash.ttlType }}</td> <td>{{ flash.ttlType }}</td>
</tr> </tr>
<tr> <tr>
<th>Is P-TTL?</th> <th>Is P-TTL?</th>
<td>{% if flash.isPTtl %}Yes{% else %}No{% endif %}</td> <td>{% if flash.isPTtl %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>P-TTL Type</th> <th>P-TTL Type</th>
<td>{{ flash.pTtlType }}</td> <td>{{ flash.pTtlType }}</td>
</tr> </tr>
<tr> <tr>
<th>Guide Number</th> <th>Guide Number</th>
<td>{{ flash.guideNumber }}</td> <td>{{ flash.guideNumber }}</td>
</tr> </tr>
<tr> <tr>
<th>Purchase Price</th> <th>Purchase Price</th>
<td>{{ flash.purchasePrice }}</td> <td>{{ flash.purchasePrice }}</td>
</tr> </tr>
<tr> <tr>
<th>Batteries</th> <th>Batteries</th>
<td>{{ flash.batteries }}</td> <td>{{ flash.batteries }}</td>
</tr> </tr>
<tr> <tr>
<th>Notes</th> <th>Notes</th>
<td>{{ flash.notes }}</td> <td>{{ flash.notes }}</td>
</tr> </tr>
<tr> <tr>
<th>Serial</th> <th>Serial</th>
<td>{{ flash.serial }}</td> <td>{{ flash.serial }}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -28,4 +28,16 @@
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
{% for message in app.flashes('notice') %}
<div class="small callout flash-notice">
{{ message }}
</div>
{% endfor %}
{% for message in app.flashes('error') %}
<div class="small callout alert flash-error">
{{ message }}
</div>
{% endfor %}

View File

@ -1,35 +1,34 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Edit Lens</h2> <h2>Edit Lens</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('lens_index') }}">Back to the list</a> <a href="{{ path('lens_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(edit_form) }} {{ form_start(edit_form) }}
{{ form_widget(edit_form) }} {{ form_widget(edit_form) }}
<button type="submit" class="success button">Update</button> <button type="submit" class="success button">Update</button>
{{ form_end(edit_form) }} {{ form_end(edit_form) }}
<hr />
{{ form_start(deacquire_form) }}
{{ form_widget(deacquire_form) }}
<button type="submit" class="button">De-acquire</button>
{{ form_end(deacquire_form) }}
<hr /> <hr />
{{ form_start(delete_form) }} {{ form_start(deacquire_form) }}
<button type="submit" class="alert button">Delete Lens</button> {{ form_widget(deacquire_form) }}
{{ form_end(delete_form) }} <button type="submit" class="button">De-acquire</button>
{{ form_end(deacquire_form) }}
<hr />
{{ form_start(delete_form) }}
<button type="submit" class="alert button">Delete Lens</button>
{{ form_end(delete_form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,68 +1,70 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<h2>Lenses</h2> <h2>Lenses</h2>
<div class="small primary callout"> <div class="small primary callout">
<ul> <ul>
<li> <li>
<a href="{{ path('lens_new') }}">Add a Lens</a> <a href="{{ path('lens_new') }}">Add a Lens</a>
</li> </li>
</ul> </ul>
</div> </div>
<table class="hover scroll stack"> <table class="hover scroll stack">
<thead> <thead>
<tr> <tr>
<th>Actions</th> <th>Actions</th>
<th>Id</th> <th>Id</th>
<th>Brand</th> <th>Brand</th>
<th>Description</th> <th>Description</th>
<th>Aperture Range</th> <th>Aperture Range</th>
<th>Focal Range</th> <th>Focal Range</th>
<th>Serial</th> <th>Serial</th>
<th>Purchase Price</th> <th>Purchase Price</th>
<th>Notes</th> <th>Notes</th>
<th>Mount</th> <th>Mount</th>
<th>Received</th> <th>Image Size</th>
<th>Formerly Owned</th> <th>Received</th>
<th>Front Filter Size</th> <th>Formerly Owned</th>
<th>Rear Filter Size</th> <th>Front Filter Size</th>
<th>Is Teleconverter?</th> <th>Rear Filter Size</th>
<th>Design Elements / Groups</th> <th>Is Teleconverter?</th>
<th>Aperture Blades</th> <th>Design Elements / Groups</th>
</tr> <th>Aperture Blades</th>
</thead> </tr>
<tbody> </thead>
{% for lense in lenses %} <tbody>
<tr> {% for lense in lenses %}
<td> <tr>
<ul> <td>
<li> <ul>
<a href="{{ path('lens_edit', { 'id': lense.id }) }}">edit</a> <li>
</li> <a href="{{ path('lens_edit', { 'id': lense.id }) }}">edit</a>
</ul> </li>
</td> </ul>
<td><a href="{{ path('lens_show', { 'id': lense.id }) }}">{{ lense.id }}</a></td> </td>
<td>{{ lense.brand }}</td> <td><a href="{{ path('lens_show', { 'id': lense.id }) }}">{{ lense.id }}</a></td>
<td>{{ lense.coatings }} {{ lense.productLine }} {{ lense.model }}</td> <td>{{ lense.brand }}</td>
<td>{{ lense.minFStop }} &mdash; {{ lense.maxFStop }}</td> <td>{{ lense.coatings }} {{ lense.productLine }} {{ lense.model }}</td>
<td>{{ lense.minFocalLength }} &mdash; {{ lense.maxFocalLength }}</td> <td>{{ lense.minFStop }} &mdash; {{ lense.maxFStop }}</td>
<td>{{ lense.serial }}</td> <td>{{ lense.minFocalLength }} &mdash; {{ lense.maxFocalLength }}</td>
<td>${{ lense.purchasePrice }}</td> <td>{{ lense.serial }}</td>
<td>{{ lense.notes }}</td> <td>${{ lense.purchasePrice }}</td>
<td>{{ lense.mount }}</td> <td>{{ lense.notes }}</td>
<td>{% if lense.received %}Yes{% else %}No{% endif %}</td> <td>{{ lense.mount }}</td>
<td>{% if lense.formerlyOwned %}Yes{% else %}No{% endif %}</td> <td>{{ lense.imageSize }}</td>
<td>{{ lense.frontFilterSize }}</td> <td>{% if lense.received %}Yes{% else %}No{% endif %}</td>
<td>{{ lense.rearFilterSize }}</td> <td>{% if lense.formerlyOwned %}Yes{% else %}No{% endif %}</td>
<td>{% if lense.isTeleconverter %}Yes{% else %}No{% endif %}</td> <td>{{ lense.frontFilterSize }}</td>
<td>{{ lense.designElements }} / {{ lense.designGroups }}</td> <td>{{ lense.rearFilterSize }}</td>
<td>{{ lense.apertureBlades }}</td> <td>{% if lense.isTeleconverter %}Yes{% else %}No{% endif %}</td>
</tr> <td>{{ lense.designElements }} / {{ lense.designGroups }}</td>
{% endfor %} <td>{{ lense.apertureBlades }}</td>
</tbody> </tr>
</table> {% endfor %}
</tbody>
</table>
{% endblock %} {% endblock %}

View File

@ -1,20 +1,20 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Add a Lens</h2> <h2>Add a Lens</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('lens_index') }}">Back to the list</a> <a href="{{ path('lens_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(form) }} {{ form_start(form) }}
{{ form_widget(form) }} {{ form_widget(form) }}
<button type="submit" class="success button">Add</button> <button type="submit" class="success button">Add</button>
{{ form_end(form) }} {{ form_end(form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,102 +1,106 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Lens</h2> <h2>Lens</h2>
<div class="callout"> <div class="callout">
<ul> <ul>
<li> <li>
<a href="{{ path('lens_index') }}">Back to the list</a> <a href="{{ path('lens_index') }}">Back to the list</a>
</li> </li>
<li> <li>
<a href="{{ path('lens_edit', { 'id': lense.id }) }}">Edit</a> <a href="{{ path('lens_edit', { 'id': lense.id }) }}">Edit</a>
</li> </li>
</ul> </ul>
<hr> <hr>
{{ form_start(delete_form) }} {{ form_start(delete_form) }}
<button type="submit" class="alert button">Delete Lens</button> <button type="submit" class="alert button">Delete Lens</button>
{{ form_end(delete_form) }} {{ form_end(delete_form) }}
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<th>Id</th> <th>Id</th>
<td>{{ lense.id }}</td> <td>{{ lense.id }}</td>
</tr> </tr>
<tr> <tr>
<th>Brand</th> <th>Brand</th>
<td>{{ lense.brand }}</td> <td>{{ lense.brand }}</td>
</tr> </tr>
<tr> <tr>
<th>Coatings</th> <th>Coatings</th>
<td>{{ lense.coatings }}</td> <td>{{ lense.coatings }}</td>
</tr> </tr>
<tr> <tr>
<th>Product Line</th> <th>Product Line</th>
<td>{{ lense.productLine }}</td> <td>{{ lense.productLine }}</td>
</tr> </tr>
<tr> <tr>
<th>Model</th> <th>Model</th>
<td>{{ lense.model }}</td> <td>{{ lense.model }}</td>
</tr> </tr>
<tr> <tr>
<th>Aperture Range</th> <th>Aperture Range</th>
<td>ƒ {{ lense.minFStop }} &mdash; {{ lense.maxFStop }}</td> <td>ƒ {{ lense.minFStop }} &mdash; {{ lense.maxFStop }}</td>
</tr> </tr>
<tr> <tr>
<th>Focal Range</th> <th>Focal Range</th>
<td>{{ lense.minFocalLength }} &mdash; {{ lense.maxFocalLength }}mm</td> <td>{{ lense.minFocalLength }} &mdash; {{ lense.maxFocalLength }}mm</td>
</tr> </tr>
<tr> <tr>
<th>Serial</th> <th>Serial</th>
<td>{{ lense.serial }}</td> <td>{{ lense.serial }}</td>
</tr> </tr>
<tr> <tr>
<th>Purchase Price</th> <th>Purchase Price</th>
<td>{{ lense.purchasePrice }}</td> <td>{{ lense.purchasePrice }}</td>
</tr> </tr>
<tr> <tr>
<th>Notes</th> <th>Notes</th>
<td>{{ lense.notes }}</td> <td>{{ lense.notes }}</td>
</tr> </tr>
<tr> <tr>
<th>Mount</th> <th>Mount</th>
<td>{{ lense.mount }}</td> <td>{{ lense.mount }}</td>
</tr> </tr>
<tr> <tr>
<th>Received</th> <th>Image Size</th>
<td>{% if lense.received %}Yes{% else %}No{% endif %}</td> <td>{{ lense.imageSize }}</td>
</tr> </tr>
<tr> <tr>
<th>Formerly Owned?</th> <th>Received</th>
<td>{% if lense.formerlyOwned %}Yes{% else %}No{% endif %}</td> <td>{% if lense.received %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Front Filter Size</th> <th>Formerly Owned?</th>
<td>{{ lense.frontFilterSize }}mm</td> <td>{% if lense.formerlyOwned %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Rear Filter Size</th> <th>Front Filter Size</th>
<td>{{ lense.rearFilterSize }}</td> <td>{{ lense.frontFilterSize }}mm</td>
</tr> </tr>
<tr> <tr>
<th>Is Teleconverter?</th> <th>Rear Filter Size</th>
<td>{% if lense.isTeleconverter %}Yes{% else %}No{% endif %}</td> <td>{{ lense.rearFilterSize }}</td>
</tr> </tr>
<tr> <tr>
<th>Design Elements / Groups</th> <th>Is Teleconverter?</th>
<td>{{ lense.designElements }} / {{ lense.designGroups }}</td> <td>{% if lense.isTeleconverter %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Aperture Blades</th> <th>Design Elements / Groups</th>
<td>{{ lense.apertureBlades }}</td> <td>{{ lense.designElements }} / {{ lense.designGroups }}</td>
</tr> </tr>
</tbody> <tr>
</table> <th>Aperture Blades</th>
<td>{{ lense.apertureBlades }}</td>
</tr>
</tbody>
</table>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,20 +1,27 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Edit Camera</h2> <h2>Edit Camera</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-camera_index') }}">Back to the list</a> <a href="{{ path('previously-owned-camera_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(edit_form) }} {{ form_start(edit_form) }}
{{ form_widget(edit_form) }} {{ form_widget(edit_form) }}
<button type="submit" class="success button">Update</button> <button type="submit" class="success button">Update</button>
{{ form_end(edit_form) }} {{ form_end(edit_form) }}
<hr />
{{ form_start(reacquire_form) }}
{{ form_widget(reacquire_form) }}
<button type="submit" class="button">Reacquire</button>
{{ form_end(reacquire_form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,52 +1,52 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<h2>Previously Owned Cameras</h2> <h2>Previously Owned Cameras</h2>
<table class="hover scroll stack"> <table class="hover scroll stack">
<thead> <thead>
<tr> <tr>
<th>Actions</th> <th>Actions</th>
<th>Id</th> <th>Id</th>
<th>Brand</th> <th>Brand</th>
<th>Mount</th> <th>Mount</th>
<th>Model</th> <th>Model</th>
<th>Is Digital?</th> <th>Is Digital?</th>
<th>Crop Factor</th> <th>Crop Factor</th>
<th>Is Working?</th> <th>Is Working?</th>
<th>Notes</th> <th>Notes</th>
<th>Serial</th> <th>Serial</th>
<th>Purchase Price</th> <th>Purchase Price</th>
<th>Battery Type</th> <th>Battery Type</th>
<th>Film Format</th> <th>Film Format</th>
<th>Received</th> <th>Received</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for previouslyOwnedCamera in previouslyOwnedCameras %} {% for previouslyOwnedCamera in previouslyOwnedCameras %}
<tr> <tr>
<td> <td>
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-camera_edit', { 'id': previouslyOwnedCamera.id }) }}">edit</a> <a href="{{ path('previously-owned-camera_edit', { 'id': previouslyOwnedCamera.id }) }}">edit</a>
</li> </li>
</ul> </ul>
</td> </td>
<td><a href="{{ path('previously-owned-camera_show', { 'id': previouslyOwnedCamera.id }) }}">{{ previouslyOwnedCamera.id }}</a></td> <td><a href="{{ path('previously-owned-camera_show', { 'id': previouslyOwnedCamera.id }) }}">{{ previouslyOwnedCamera.id }}</a></td>
<td>{{ previouslyOwnedCamera.brand }}</td> <td>{{ previouslyOwnedCamera.brand }}</td>
<td>{{ previouslyOwnedCamera.mount }}</td> <td>{{ previouslyOwnedCamera.mount }}</td>
<td>{{ previouslyOwnedCamera.model }}</td> <td>{{ previouslyOwnedCamera.model }}</td>
<td>{% if previouslyOwnedCamera.isDigital %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedCamera.isDigital %}Yes{% else %}No{% endif %}</td>
<td>{{ previouslyOwnedCamera.cropFactor }}</td> <td>{{ previouslyOwnedCamera.cropFactor }}</td>
<td>{% if previouslyOwnedCamera.isWorking %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedCamera.isWorking %}Yes{% else %}No{% endif %}</td>
<td>{{ previouslyOwnedCamera.notes }}</td> <td>{{ previouslyOwnedCamera.notes }}</td>
<td>{{ previouslyOwnedCamera.serial }}</td> <td>{{ previouslyOwnedCamera.serial }}</td>
<td>${{ previouslyOwnedCamera.purchasePrice }}</td> <td>${{ previouslyOwnedCamera.purchasePrice }}</td>
<td>{{ previouslyOwnedCamera.batteryType }}</td> <td>{{ previouslyOwnedCamera.batteryType }}</td>
<td>{{ previouslyOwnedCamera.filmFormat }}</td> <td>{{ previouslyOwnedCamera.filmFormat }}</td>
<td>{% if previouslyOwnedCamera.received %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedCamera.received %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% endblock %} {% endblock %}

View File

@ -1,75 +1,75 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Previously Owned Camera</h2> <h2>Previously Owned Camera</h2>
<div class="callout"> <div class="callout">
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-camera_index') }}">Back to the list</a> <a href="{{ path('previously-owned-camera_index') }}">Back to the list</a>
</li> </li>
<li> <li>
<a href="{{ path('previously-owned-camera_edit', { 'id': previouslyOwnedCamera.id }) }}">Edit</a> <a href="{{ path('previously-owned-camera_edit', { 'id': previouslyOwnedCamera.id }) }}">Edit</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<th>Id</th> <th>Id</th>
<td>{{ previouslyOwnedCamera.id }}</td> <td>{{ previouslyOwnedCamera.id }}</td>
</tr> </tr>
<tr> <tr>
<th>Brand</th> <th>Brand</th>
<td>{{ previouslyOwnedCamera.brand }}</td> <td>{{ previouslyOwnedCamera.brand }}</td>
</tr> </tr>
<tr> <tr>
<th>Mount</th> <th>Mount</th>
<td>{{ previouslyOwnedCamera.mount }}</td> <td>{{ previouslyOwnedCamera.mount }}</td>
</tr> </tr>
<tr> <tr>
<th>Model</th> <th>Model</th>
<td>{{ previouslyOwnedCamera.model }}</td> <td>{{ previouslyOwnedCamera.model }}</td>
</tr> </tr>
<tr> <tr>
<th>Is Digital?</th> <th>Is Digital?</th>
<td>{% if previouslyOwnedCamera.isDigital %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedCamera.isDigital %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Crop Factor</th> <th>Crop Factor</th>
<td>{{ previouslyOwnedCamera.cropFactor }}</td> <td>{{ previouslyOwnedCamera.cropFactor }}</td>
</tr> </tr>
<tr> <tr>
<th>Is Working?</th> <th>Is Working?</th>
<td>{% if previouslyOwnedCamera.isWorking %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedCamera.isWorking %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Notes</th> <th>Notes</th>
<td>{{ previouslyOwnedCamera.notes }}</td> <td>{{ previouslyOwnedCamera.notes }}</td>
</tr> </tr>
<tr> <tr>
<th>Serial</th> <th>Serial</th>
<td>{{ previouslyOwnedCamera.serial }}</td> <td>{{ previouslyOwnedCamera.serial }}</td>
</tr> </tr>
<tr> <tr>
<th>Purchase Price</th> <th>Purchase Price</th>
<td>{{ previouslyOwnedCamera.purchasePrice }}</td> <td>{{ previouslyOwnedCamera.purchasePrice }}</td>
</tr> </tr>
<tr> <tr>
<th>Battery Type</th> <th>Battery Type</th>
<td>{{ previouslyOwnedCamera.batteryType }}</td> <td>{{ previouslyOwnedCamera.batteryType }}</td>
</tr> </tr>
<tr> <tr>
<th>Film Format</th> <th>Film Format</th>
<td>{{ previouslyOwnedCamera.filmFormat }}</td> <td>{{ previouslyOwnedCamera.filmFormat }}</td>
</tr> </tr>
<tr> <tr>
<th>Received</th> <th>Received</th>
<td>{% if previouslyOwnedCamera.received %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedCamera.received %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,21 +1,21 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Edit Previously Owned Flash</h2> <h2>Edit Previously Owned Flash</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-flash_index') }}">Back to the list</a> <a href="{{ path('previously-owned-flash_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(edit_form) }} {{ form_start(edit_form) }}
{{ form_widget(edit_form) }} {{ form_widget(edit_form) }}
<button type="submit" class="success button">Edit</button> <button type="submit" class="success button">Edit</button>
{{ form_end(edit_form) }} {{ form_end(edit_form) }}
</div> </div>

View File

@ -1,52 +1,52 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<h2>Previously Owned Flashes</h2> <h2>Previously Owned Flashes</h2>
<table class="hover scroll stack"> <table class="hover scroll stack">
<thead> <thead>
<tr> <tr>
<th>Actions</th> <th>Actions</th>
<th>Id</th> <th>Id</th>
<th>Brand</th> <th>Brand</th>
<th>Model</th> <th>Model</th>
<th>Is Auto Flash?</th> <th>Is Auto Flash?</th>
<th>Is TTL</th> <th>Is TTL</th>
<th>TTL Type</th> <th>TTL Type</th>
<th>Is P-TTL</th> <th>Is P-TTL</th>
<th>P-TTL Type</th> <th>P-TTL Type</th>
<th>Guide Number</th> <th>Guide Number</th>
<th>Purchase Price</th> <th>Purchase Price</th>
<th>Batteries</th> <th>Batteries</th>
<th>Notes</th> <th>Notes</th>
<th>Serial</th> <th>Serial</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for previouslyOwnedFlash in previouslyOwnedFlashes %} {% for previouslyOwnedFlash in previouslyOwnedFlashes %}
<tr> <tr>
<td> <td>
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-flash_edit', { 'id': previouslyOwnedFlash.id }) }}">edit</a> <a href="{{ path('previously-owned-flash_edit', { 'id': previouslyOwnedFlash.id }) }}">edit</a>
</li> </li>
</ul> </ul>
</td> </td>
<td><a href="{{ path('previously-owned-flash_show', { 'id': previouslyOwnedFlash.id }) }}">{{ previouslyOwnedFlash.id }}</a></td> <td><a href="{{ path('previously-owned-flash_show', { 'id': previouslyOwnedFlash.id }) }}">{{ previouslyOwnedFlash.id }}</a></td>
<td>{{ previouslyOwnedFlash.brand }}</td> <td>{{ previouslyOwnedFlash.brand }}</td>
<td>{{ previouslyOwnedFlash.model }}</td> <td>{{ previouslyOwnedFlash.model }}</td>
<td>{% if previouslyOwnedFlash.isAutoFlash %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedFlash.isAutoFlash %}Yes{% else %}No{% endif %}</td>
<td>{% if previouslyOwnedFlash.isTtl %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedFlash.isTtl %}Yes{% else %}No{% endif %}</td>
<td>{{ previouslyOwnedFlash.ttlType }}</td> <td>{{ previouslyOwnedFlash.ttlType }}</td>
<td>{% if previouslyOwnedFlash.isPTtl %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedFlash.isPTtl %}Yes{% else %}No{% endif %}</td>
<td>{{ previouslyOwnedFlash.pTtlType }}</td> <td>{{ previouslyOwnedFlash.pTtlType }}</td>
<td>{{ previouslyOwnedFlash.guideNumber }}</td> <td>{{ previouslyOwnedFlash.guideNumber }}</td>
<td>${{ previouslyOwnedFlash.purchasePrice }}</td> <td>${{ previouslyOwnedFlash.purchasePrice }}</td>
<td>{{ previouslyOwnedFlash.batteries }}</td> <td>{{ previouslyOwnedFlash.batteries }}</td>
<td>{{ previouslyOwnedFlash.notes }}</td> <td>{{ previouslyOwnedFlash.notes }}</td>
<td>{{ previouslyOwnedFlash.serial }}</td> <td>{{ previouslyOwnedFlash.serial }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% endblock %} {% endblock %}

View File

@ -1,76 +1,76 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Previously Owned Flash</h2> <h2>Previously Owned Flash</h2>
<div class="callout"> <div class="callout">
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-flash_index') }}">Back to the list</a> <a href="{{ path('previously-owned-flash_index') }}">Back to the list</a>
</li> </li>
<li> <li>
<a href="{{ path('previously-owned-flash_edit', { 'id': previouslyOwnedFlash.id }) }}">Edit</a> <a href="{{ path('previously-owned-flash_edit', { 'id': previouslyOwnedFlash.id }) }}">Edit</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<th>Id</th> <th>Id</th>
<td>{{ previouslyOwnedFlash.id }}</td> <td>{{ previouslyOwnedFlash.id }}</td>
</tr> </tr>
<tr> <tr>
<th>Brand</th> <th>Brand</th>
<td>{{ previouslyOwnedFlash.brand }}</td> <td>{{ previouslyOwnedFlash.brand }}</td>
</tr> </tr>
<tr> <tr>
<th>Model</th> <th>Model</th>
<td>{{ previouslyOwnedFlash.model }}</td> <td>{{ previouslyOwnedFlash.model }}</td>
</tr> </tr>
<tr> <tr>
<th>Is Auto Flash?</th> <th>Is Auto Flash?</th>
<td>{% if previouslyOwnedFlash.isAutoFlash %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedFlash.isAutoFlash %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Is TTL?</th> <th>Is TTL?</th>
<td>{% if previouslyOwnedFlash.isTtl %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedFlash.isTtl %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>TTL Type?</th> <th>TTL Type?</th>
<td>{{ previouslyOwnedFlash.ttlType }}</td> <td>{{ previouslyOwnedFlash.ttlType }}</td>
</tr> </tr>
<tr> <tr>
<th>Is P-TTL?</th> <th>Is P-TTL?</th>
<td>{% if previouslyOwnedFlash.isPTtl %}Yes{% else %}No{% endif %}</td> <td>{% if previouslyOwnedFlash.isPTtl %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>P-TTL Type</th> <th>P-TTL Type</th>
<td>{{ previouslyOwnedFlash.pTtlType }}</td> <td>{{ previouslyOwnedFlash.pTtlType }}</td>
</tr> </tr>
<tr> <tr>
<th>Guide Number</th> <th>Guide Number</th>
<td>{{ previouslyOwnedFlash.guideNumber }}</td> <td>{{ previouslyOwnedFlash.guideNumber }}</td>
</tr> </tr>
<tr> <tr>
<th>Purchase Price</th> <th>Purchase Price</th>
<td>{{ previouslyOwnedFlash.purchasePrice }}</td> <td>{{ previouslyOwnedFlash.purchasePrice }}</td>
</tr> </tr>
<tr> <tr>
<th>Batteries</th> <th>Batteries</th>
<td>{{ previouslyOwnedFlash.batteries }}</td> <td>{{ previouslyOwnedFlash.batteries }}</td>
</tr> </tr>
<tr> <tr>
<th>Notes</th> <th>Notes</th>
<td>{{ previouslyOwnedFlash.notes }}</td> <td>{{ previouslyOwnedFlash.notes }}</td>
</tr> </tr>
<tr> <tr>
<th>Serial</th> <th>Serial</th>
<td>{{ previouslyOwnedFlash.serial }}</td> <td>{{ previouslyOwnedFlash.serial }}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -1,20 +1,20 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Edit Lens</h2> <h2>Edit Lens</h2>
<div class="small callout"> <div class="small callout">
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-lens_index') }}">Back to the list</a> <a href="{{ path('previously-owned-lens_index') }}">Back to the list</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
{{ form_start(edit_form) }} {{ form_start(edit_form) }}
{{ form_widget(edit_form) }} {{ form_widget(edit_form) }}
<button type="submit" class="success button">Update</button> <button type="submit" class="success button">Update</button>
{{ form_end(edit_form) }} {{ form_end(edit_form) }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,58 +1,60 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<h2>Previously Owned Lenses</h2> <h2>Previously Owned Lenses</h2>
<table class="hover scroll stack"> <table class="hover scroll stack">
<thead> <thead>
<tr> <tr>
<th>Actions</th> <th>Actions</th>
<th>Id</th> <th>Id</th>
<th>Brand</th> <th>Brand</th>
<th>Coatings</th> <th>Coatings</th>
<th>Product Line</th> <th>Product Line</th>
<th>Model</th> <th>Model</th>
<th>Aperture Range</th> <th>Aperture Range</th>
<th>Focal Range</th> <th>Focal Range</th>
<th>Serial</th> <th>Serial</th>
<th>Purchase Price</th> <th>Purchase Price</th>
<th>Notes</th> <th>Notes</th>
<th>Mount</th> <th>Mount</th>
<th>Front Filter Size</th> <th>Image Size</th>
<th>Rear Filter Size</th> <th>Front Filter Size</th>
<th>Is Teleconverter?</th> <th>Rear Filter Size</th>
<th>Design Elements/Groups</th> <th>Is Teleconverter?</th>
<th>Aperture Blades</th> <th>Design Elements/Groups</th>
</tr> <th>Aperture Blades</th>
</thead> </tr>
<tbody> </thead>
{% for previouslyOwnedLense in previouslyOwnedLenses %} <tbody>
<tr> {% for previouslyOwnedLense in previouslyOwnedLenses %}
<td> <tr>
<ul> <td>
<li> <ul>
<a href="{{ path('previously-owned-lens_edit', { 'id': previouslyOwnedLense.id }) }}">edit</a> <li>
</li> <a href="{{ path('previously-owned-lens_edit', { 'id': previouslyOwnedLense.id }) }}">edit</a>
</ul> </li>
</td> </ul>
<td><a href="{{ path('previously-owned-lens_show', { 'id': previouslyOwnedLense.id }) }}">{{ previouslyOwnedLense.id }}</a></td> </td>
<td>{{ previouslyOwnedLense.brand }}</td> <td><a href="{{ path('previously-owned-lens_show', { 'id': previouslyOwnedLense.id }) }}">{{ previouslyOwnedLense.id }}</a></td>
<td>{{ previouslyOwnedLense.coatings }}</td> <td>{{ previouslyOwnedLense.brand }}</td>
<td>{{ previouslyOwnedLense.productLine }}</td> <td>{{ previouslyOwnedLense.coatings }}</td>
<td>{{ previouslyOwnedLense.model }}</td> <td>{{ previouslyOwnedLense.productLine }}</td>
<td>{{ previouslyOwnedLense.minFStop }} &mdash; {{ previouslyOwnedLense.maxFStop }}</td> <td>{{ previouslyOwnedLense.model }}</td>
<td>{{ previouslyOwnedLense.minFocalLength }} &mdash; {{ previouslyOwnedLense.maxFocalLength }}</td> <td>{{ previouslyOwnedLense.minFStop }} &mdash; {{ previouslyOwnedLense.maxFStop }}</td>
<td>{{ previouslyOwnedLense.serial }}</td> <td>{{ previouslyOwnedLense.minFocalLength }} &mdash; {{ previouslyOwnedLense.maxFocalLength }}</td>
<td>${{ previouslyOwnedLense.purchasePrice }}</td> <td>{{ previouslyOwnedLense.serial }}</td>
<td>{{ previouslyOwnedLense.notes }}</td> <td>${{ previouslyOwnedLense.purchasePrice }}</td>
<td>{{ previouslyOwnedLense.mount }}</td> <td>{{ previouslyOwnedLense.notes }}</td>
<td>{{ previouslyOwnedLense.frontFilterSize }}</td> <td>{{ previouslyOwnedLense.mount }}</td>
<td>{{ previouslyOwnedLense.rearFilterSize }}</td> <td>{{ previouslyOwnedLense.imageSize }}</td>
<td>{% if previouslyOwnedLense.isTeleconverter %}Yes{% else %}No{% endif %}</td> <td>{{ previouslyOwnedLense.frontFilterSize }}</td>
<td>{{ previouslyOwnedLense.designElements }}/{{ previouslyOwnedLense.designGroups }}</td> <td>{{ previouslyOwnedLense.rearFilterSize }}</td>
<td>{{ previouslyOwnedLense.apertureBlades }}</td> <td>{% if previouslyOwnedLense.isTeleconverter %}Yes{% else %}No{% endif %}</td>
</tr> <td>{{ previouslyOwnedLense.designElements }}/{{ previouslyOwnedLense.designGroups }}</td>
{% endfor %} <td>{{ previouslyOwnedLense.apertureBlades }}</td>
</tbody> </tr>
</table> {% endfor %}
</tbody>
</table>
{% endblock %} {% endblock %}

View File

@ -1,88 +1,92 @@
{% extends 'form.html.twig' %} {% extends 'form.html.twig' %}
{% block form %} {% block form %}
<h2>Previously Owned Lens</h2> <h2>Previously Owned Lens</h2>
<div class="callout"> <div class="callout">
<ul> <ul>
<li> <li>
<a href="{{ path('previously-owned-lens_index') }}">Back to the list</a> <a href="{{ path('previously-owned-lens_index') }}">Back to the list</a>
</li> </li>
<li> <li>
<a href="{{ path('previously-owned-lens_edit', { 'id': previouslyOwnedLense.id }) }}">Edit</a> <a href="{{ path('previously-owned-lens_edit', { 'id': previouslyOwnedLense.id }) }}">Edit</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="large primary callout"> <div class="large primary callout">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<th>Id</th> <th>Id</th>
<td>{{ previouslyOwnedLense.id }}</td> <td>{{ previouslyOwnedLense.id }}</td>
</tr> </tr>
<tr> <tr>
<th>Brand</th> <th>Brand</th>
<td>{{ previouslyOwnedLense.brand }}</td> <td>{{ previouslyOwnedLense.brand }}</td>
</tr> </tr>
<tr> <tr>
<th>Coatings</th> <th>Coatings</th>
<td>{{ previouslyOwnedLense.coatings }}</td> <td>{{ previouslyOwnedLense.coatings }}</td>
</tr> </tr>
<tr> <tr>
<th>Product Line</th> <th>Product Line</th>
<td>{{ previouslyOwnedLense.productLine }}</td> <td>{{ previouslyOwnedLense.productLine }}</td>
</tr> </tr>
<tr> <tr>
<th>Model</th> <th>Model</th>
<td>{{ previouslyOwnedLense.model }}</td> <td>{{ previouslyOwnedLense.model }}</td>
</tr> </tr>
<tr> <tr>
<th>Aperture Range</th> <th>Aperture Range</th>
<td>ƒ {{ previouslyOwnedLense.minFStop }} &mdash; {{ previouslyOwnedLense.maxFStop }}</td> <td>ƒ {{ previouslyOwnedLense.minFStop }} &mdash; {{ previouslyOwnedLense.maxFStop }}</td>
</tr> </tr>
<tr> <tr>
<th>Focal Range</th> <th>Focal Range</th>
<td>{{ previouslyOwnedLense.minFocalLength }} &mdash; {{ previouslyOwnedLense.maxFocalLength }}mm</td> <td>{{ previouslyOwnedLense.minFocalLength }} &mdash; {{ previouslyOwnedLense.maxFocalLength }}mm</td>
</tr> </tr>
<tr> <tr>
<th>Serial</th> <th>Serial</th>
<td>{{ previouslyOwnedLense.serial }}</td> <td>{{ previouslyOwnedLense.serial }}</td>
</tr> </tr>
<tr> <tr>
<th>Purchase Price</th> <th>Purchase Price</th>
<td>${{ previouslyOwnedLense.purchasePrice }}</td> <td>${{ previouslyOwnedLense.purchasePrice }}</td>
</tr> </tr>
<tr> <tr>
<th>Notes</th> <th>Notes</th>
<td>{{ previouslyOwnedLense.notes }}</td> <td>{{ previouslyOwnedLense.notes }}</td>
</tr> </tr>
<tr> <tr>
<th>Mount</th> <th>Mount</th>
<td>{{ previouslyOwnedLense.mount }}</td> <td>{{ previouslyOwnedLense.mount }}</td>
</tr> </tr>
<tr> <tr>
<th>Front Filter Size</th> <th>Image Size</th>
<td>{{ previouslyOwnedLense.frontFilterSize }}</td> <td>{{ previouslyOwnedLense.imageSize }}</td>
</tr> </tr>
<tr> <tr>
<th>Rear Filter Size</th> <th>Front Filter Size</th>
<td>{{ previouslyOwnedLense.rearFilterSize }}</td> <td>{{ previouslyOwnedLense.frontFilterSize }}</td>
</tr> </tr>
<tr> <tr>
<th>Is Teleconverter</th> <th>Rear Filter Size</th>
<td>{% if previouslyOwnedLense.isTeleconverter %}Yes{% else %}No{% endif %}</td> <td>{{ previouslyOwnedLense.rearFilterSize }}</td>
</tr> </tr>
<tr> <tr>
<th>Design Elements / Groups</th> <th>Is Teleconverter</th>
<td>{{ previouslyOwnedLense.designElements }} / {{ previouslyOwnedLense.designGroups }}</td> <td>{% if previouslyOwnedLense.isTeleconverter %}Yes{% else %}No{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>Aperture Blades</th> <th>Design Elements / Groups</th>
<td>{{ previouslyOwnedLense.apertureBlades }}</td> <td>{{ previouslyOwnedLense.designElements }} / {{ previouslyOwnedLense.designGroups }}</td>
</tr> </tr>
</tbody> <tr>
</table> <th>Aperture Blades</th>
<td>{{ previouslyOwnedLense.apertureBlades }}</td>
</tr>
</tbody>
</table>
</div> </div>