Another ugly progress commit

This commit is contained in:
Timothy Warren 2022-10-07 16:04:56 -04:00
parent 58e7519462
commit f6792de6c5
13 changed files with 505 additions and 261 deletions

223
composer.lock generated
View File

@ -2035,16 +2035,16 @@
}, },
{ {
"name": "symfony/cache", "name": "symfony/cache",
"version": "v6.1.3", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache.git", "url": "https://github.com/symfony/cache.git",
"reference": "5cf8e75f02932818889e0609380b8d5427a6c86c" "reference": "9ae74e40fde37aba127ad5db65c5193f41f86f95"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/5cf8e75f02932818889e0609380b8d5427a6c86c", "url": "https://api.github.com/repos/symfony/cache/zipball/9ae74e40fde37aba127ad5db65c5193f41f86f95",
"reference": "5cf8e75f02932818889e0609380b8d5427a6c86c", "reference": "9ae74e40fde37aba127ad5db65c5193f41f86f95",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2104,14 +2104,14 @@
"homepage": "https://symfony.com/contributors" "homepage": "https://symfony.com/contributors"
} }
], ],
"description": "Provides an extended PSR-6, PSR-16 (and tags) implementation", "description": "Provides extended PSR-6, PSR-16 (and tags) implementations",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"keywords": [ "keywords": [
"caching", "caching",
"psr6" "psr6"
], ],
"support": { "support": {
"source": "https://github.com/symfony/cache/tree/v6.1.3" "source": "https://github.com/symfony/cache/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -2127,7 +2127,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-07-29T07:42:06+00:00" "time": "2022-09-08T09:34:40+00:00"
}, },
{ {
"name": "symfony/cache-contracts", "name": "symfony/cache-contracts",
@ -2287,16 +2287,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "7fccea8728aa2d431a6725b02b3ce759049fc84d" "reference": "17524a64ebcfab68d237bbed247e9a9917747096"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/7fccea8728aa2d431a6725b02b3ce759049fc84d", "url": "https://api.github.com/repos/symfony/console/zipball/17524a64ebcfab68d237bbed247e9a9917747096",
"reference": "7fccea8728aa2d431a6725b02b3ce759049fc84d", "reference": "17524a64ebcfab68d237bbed247e9a9917747096",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2363,7 +2363,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v6.1.4" "source": "https://github.com/symfony/console/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -2379,20 +2379,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-26T10:32:31+00:00" "time": "2022-09-03T14:24:42+00:00"
}, },
{ {
"name": "symfony/dependency-injection", "name": "symfony/dependency-injection",
"version": "v6.1.3", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dependency-injection.git", "url": "https://github.com/symfony/dependency-injection.git",
"reference": "079e336a1880f457b219aecc3d41bef2f1093b0b" "reference": "b9c797c9d56afc290d4265854bafd01b4e379240"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/079e336a1880f457b219aecc3d41bef2f1093b0b", "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/b9c797c9d56afc290d4265854bafd01b4e379240",
"reference": "079e336a1880f457b219aecc3d41bef2f1093b0b", "reference": "b9c797c9d56afc290d4265854bafd01b4e379240",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2450,7 +2450,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application", "description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/dependency-injection/tree/v6.1.3" "source": "https://github.com/symfony/dependency-injection/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -2466,7 +2466,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-07-20T13:46:29+00:00" "time": "2022-09-28T16:00:52+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
@ -2537,16 +2537,16 @@
}, },
{ {
"name": "symfony/doctrine-bridge", "name": "symfony/doctrine-bridge",
"version": "v6.1.3", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git", "url": "https://github.com/symfony/doctrine-bridge.git",
"reference": "68b53b14f337dbc6f92cf6f1656a0adad42482e0" "reference": "ca0fdecd106f81d6bd7f123e77b5830c558e1148"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/68b53b14f337dbc6f92cf6f1656a0adad42482e0", "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/ca0fdecd106f81d6bd7f123e77b5830c558e1148",
"reference": "68b53b14f337dbc6f92cf6f1656a0adad42482e0", "reference": "ca0fdecd106f81d6bd7f123e77b5830c558e1148",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2632,7 +2632,7 @@
"description": "Provides integration for Doctrine with various Symfony components", "description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/doctrine-bridge/tree/v6.1.3" "source": "https://github.com/symfony/doctrine-bridge/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -2648,7 +2648,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-07-29T07:42:06+00:00" "time": "2022-09-08T09:34:40+00:00"
}, },
{ {
"name": "symfony/error-handler", "name": "symfony/error-handler",
@ -2885,16 +2885,16 @@
}, },
{ {
"name": "symfony/filesystem", "name": "symfony/filesystem",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/filesystem.git", "url": "https://github.com/symfony/filesystem.git",
"reference": "3f39c04d2630c34019907b02f85672dac99f8659" "reference": "4d216a2beef096edf040a070117c39ca2abce307"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/3f39c04d2630c34019907b02f85672dac99f8659", "url": "https://api.github.com/repos/symfony/filesystem/zipball/4d216a2beef096edf040a070117c39ca2abce307",
"reference": "3f39c04d2630c34019907b02f85672dac99f8659", "reference": "4d216a2beef096edf040a070117c39ca2abce307",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2928,7 +2928,7 @@
"description": "Provides basic utilities for the filesystem", "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/filesystem/tree/v6.1.4" "source": "https://github.com/symfony/filesystem/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -2944,7 +2944,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-02T16:17:38+00:00" "time": "2022-09-21T20:29:40+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
@ -3012,16 +3012,16 @@
}, },
{ {
"name": "symfony/form", "name": "symfony/form",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/form.git", "url": "https://github.com/symfony/form.git",
"reference": "0a1a3ea071a216e2902cebe0b47750ca51f12f27" "reference": "176a358d54c70ec70708c7cbb4e8ac93cc138e6c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/form/zipball/0a1a3ea071a216e2902cebe0b47750ca51f12f27", "url": "https://api.github.com/repos/symfony/form/zipball/176a358d54c70ec70708c7cbb4e8ac93cc138e6c",
"reference": "0a1a3ea071a216e2902cebe0b47750ca51f12f27", "reference": "176a358d54c70ec70708c7cbb4e8ac93cc138e6c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3094,7 +3094,7 @@
"description": "Allows to easily create, process and reuse HTML forms", "description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/form/tree/v6.1.4" "source": "https://github.com/symfony/form/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -3110,20 +3110,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-09T09:57:18+00:00" "time": "2022-09-09T09:34:27+00:00"
}, },
{ {
"name": "symfony/framework-bundle", "name": "symfony/framework-bundle",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/framework-bundle.git", "url": "https://github.com/symfony/framework-bundle.git",
"reference": "4fabea93ce983b0d86512764ca852c683cc4730b" "reference": "be33f4a8b58e40c3ad876537ece359af374eb030"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/4fabea93ce983b0d86512764ca852c683cc4730b", "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/be33f4a8b58e40c3ad876537ece359af374eb030",
"reference": "4fabea93ce983b0d86512764ca852c683cc4730b", "reference": "be33f4a8b58e40c3ad876537ece359af374eb030",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3245,7 +3245,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/framework-bundle/tree/v6.1.4" "source": "https://github.com/symfony/framework-bundle/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -3261,20 +3261,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-26T10:32:31+00:00" "time": "2022-09-29T11:04:32+00:00"
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "18e0f106a32887bcebef757e5b39c88e39a08f20" "reference": "90f5d9726942db69490fe467a3acb5e7154fd555"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/18e0f106a32887bcebef757e5b39c88e39a08f20", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/90f5d9726942db69490fe467a3acb5e7154fd555",
"reference": "18e0f106a32887bcebef757e5b39c88e39a08f20", "reference": "90f5d9726942db69490fe467a3acb5e7154fd555",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3320,7 +3320,7 @@
"description": "Defines an object-oriented layer for the HTTP specification", "description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-foundation/tree/v6.1.4" "source": "https://github.com/symfony/http-foundation/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -3336,20 +3336,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-19T14:27:04+00:00" "time": "2022-09-17T07:55:45+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "2144c53a278254af57fa1e6f71427be656fab6f4" "reference": "bf433ef30c2dfbf1f47449d5dce8be243e8a0012"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/2144c53a278254af57fa1e6f71427be656fab6f4", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/bf433ef30c2dfbf1f47449d5dce8be243e8a0012",
"reference": "2144c53a278254af57fa1e6f71427be656fab6f4", "reference": "bf433ef30c2dfbf1f47449d5dce8be243e8a0012",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3430,7 +3430,7 @@
"description": "Provides a structured process for converting a Request into a Response", "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-kernel/tree/v6.1.4" "source": "https://github.com/symfony/http-kernel/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -3446,20 +3446,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-26T14:50:30+00:00" "time": "2022-09-30T08:10:57+00:00"
}, },
{ {
"name": "symfony/maker-bundle", "name": "symfony/maker-bundle",
"version": "v1.46.0", "version": "v1.47.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/maker-bundle.git", "url": "https://github.com/symfony/maker-bundle.git",
"reference": "682ce4fc6602acad33653ba0194d922356fd81f9" "reference": "e607f129d29a6c1e9a9e1ef3d229d653311d58f3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/maker-bundle/zipball/682ce4fc6602acad33653ba0194d922356fd81f9", "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/e607f129d29a6c1e9a9e1ef3d229d653311d58f3",
"reference": "682ce4fc6602acad33653ba0194d922356fd81f9", "reference": "e607f129d29a6c1e9a9e1ef3d229d653311d58f3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3523,7 +3523,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/symfony/maker-bundle/issues", "issues": "https://github.com/symfony/maker-bundle/issues",
"source": "https://github.com/symfony/maker-bundle/tree/v1.46.0" "source": "https://github.com/symfony/maker-bundle/tree/v1.47.0"
}, },
"funding": [ "funding": [
{ {
@ -3539,7 +3539,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-09-23T13:30:21+00:00" "time": "2022-10-04T15:05:10+00:00"
}, },
{ {
"name": "symfony/monolog-bridge", "name": "symfony/monolog-bridge",
@ -4590,16 +4590,16 @@
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v6.1.3", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "ef9108b3a88045b7546e808fb404ddb073dd35ea" "reference": "f8c1ebb43d0f39e5ecd12a732ba1952a3dd8455c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/ef9108b3a88045b7546e808fb404ddb073dd35ea", "url": "https://api.github.com/repos/symfony/routing/zipball/f8c1ebb43d0f39e5ecd12a732ba1952a3dd8455c",
"reference": "ef9108b3a88045b7546e808fb404ddb073dd35ea", "reference": "f8c1ebb43d0f39e5ecd12a732ba1952a3dd8455c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4658,7 +4658,7 @@
"url" "url"
], ],
"support": { "support": {
"source": "https://github.com/symfony/routing/tree/v6.1.3" "source": "https://github.com/symfony/routing/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -4674,20 +4674,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-07-20T15:00:40+00:00" "time": "2022-09-09T09:26:14+00:00"
}, },
{ {
"name": "symfony/security-core", "name": "symfony/security-core",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-core.git", "url": "https://github.com/symfony/security-core.git",
"reference": "a3e6ee1e0bafb22418fb602445631c9d5849055c" "reference": "ddba1c08f084ac851c41eab99243db7c42ebf189"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-core/zipball/a3e6ee1e0bafb22418fb602445631c9d5849055c", "url": "https://api.github.com/repos/symfony/security-core/zipball/ddba1c08f084ac851c41eab99243db7c42ebf189",
"reference": "a3e6ee1e0bafb22418fb602445631c9d5849055c", "reference": "ddba1c08f084ac851c41eab99243db7c42ebf189",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4749,7 +4749,7 @@
"description": "Symfony Security Component - Core Library", "description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/security-core/tree/v6.1.4" "source": "https://github.com/symfony/security-core/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -4765,7 +4765,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-19T14:27:04+00:00" "time": "2022-09-17T07:55:45+00:00"
}, },
{ {
"name": "symfony/security-csrf", "name": "symfony/security-csrf",
@ -4925,16 +4925,16 @@
}, },
{ {
"name": "symfony/stopwatch", "name": "symfony/stopwatch",
"version": "v6.1.0", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/stopwatch.git", "url": "https://github.com/symfony/stopwatch.git",
"reference": "77dedae82ce2a26e2e9b481855473fc3b3e4e54d" "reference": "266636bb8f3fbdccc302491df7b3a1b9a8c238a7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/77dedae82ce2a26e2e9b481855473fc3b3e4e54d", "url": "https://api.github.com/repos/symfony/stopwatch/zipball/266636bb8f3fbdccc302491df7b3a1b9a8c238a7",
"reference": "77dedae82ce2a26e2e9b481855473fc3b3e4e54d", "reference": "266636bb8f3fbdccc302491df7b3a1b9a8c238a7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4967,7 +4967,7 @@
"description": "Provides a way to profile code", "description": "Provides a way to profile code",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/stopwatch/tree/v6.1.0" "source": "https://github.com/symfony/stopwatch/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -4983,20 +4983,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-02-25T11:15:52+00:00" "time": "2022-09-28T16:00:52+00:00"
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "290972cad7b364e3befaa74ba0ec729800fb161c" "reference": "17c08b068176996a1d7db8d00ffae3c248267016"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/290972cad7b364e3befaa74ba0ec729800fb161c", "url": "https://api.github.com/repos/symfony/string/zipball/17c08b068176996a1d7db8d00ffae3c248267016",
"reference": "290972cad7b364e3befaa74ba0ec729800fb161c", "reference": "17c08b068176996a1d7db8d00ffae3c248267016",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5052,7 +5052,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v6.1.4" "source": "https://github.com/symfony/string/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -5068,7 +5068,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-12T18:05:43+00:00" "time": "2022-09-02T08:05:20+00:00"
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
@ -5457,16 +5457,16 @@
}, },
{ {
"name": "symfony/validator", "name": "symfony/validator",
"version": "v6.1.4", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/validator.git", "url": "https://github.com/symfony/validator.git",
"reference": "14ec426b9c8ca8cf02bd863a645fb0cc0d73db79" "reference": "7d7724f550e0f657a591831a7c31e25678ff8779"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/validator/zipball/14ec426b9c8ca8cf02bd863a645fb0cc0d73db79", "url": "https://api.github.com/repos/symfony/validator/zipball/7d7724f550e0f657a591831a7c31e25678ff8779",
"reference": "14ec426b9c8ca8cf02bd863a645fb0cc0d73db79", "reference": "7d7724f550e0f657a591831a7c31e25678ff8779",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5545,7 +5545,7 @@
"description": "Provides tools to validate values", "description": "Provides tools to validate values",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/validator/tree/v6.1.4" "source": "https://github.com/symfony/validator/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -5561,20 +5561,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-08-12T13:09:07+00:00" "time": "2022-09-17T07:55:45+00:00"
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v6.1.3", "version": "v6.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-dumper.git", "url": "https://github.com/symfony/var-dumper.git",
"reference": "d5a5e44a2260c5eb5e746bf4f1fbd12ee6ceb427" "reference": "d0833493fb2413a86f522fb54a1896a7718e98ec"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/d5a5e44a2260c5eb5e746bf4f1fbd12ee6ceb427", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d0833493fb2413a86f522fb54a1896a7718e98ec",
"reference": "d5a5e44a2260c5eb5e746bf4f1fbd12ee6ceb427", "reference": "d0833493fb2413a86f522fb54a1896a7718e98ec",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5633,7 +5633,7 @@
"dump" "dump"
], ],
"support": { "support": {
"source": "https://github.com/symfony/var-dumper/tree/v6.1.3" "source": "https://github.com/symfony/var-dumper/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -5649,7 +5649,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-07-20T13:46:29+00:00" "time": "2022-09-08T09:34:40+00:00"
}, },
{ {
"name": "symfony/var-exporter", "name": "symfony/var-exporter",
@ -6471,12 +6471,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git", "url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "d95ffb9a830a93858ba078d3f84964b713a47aae" "reference": "b0d3e99ce9c8ec237338a70277dd409ffcf6cedc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/d95ffb9a830a93858ba078d3f84964b713a47aae", "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/b0d3e99ce9c8ec237338a70277dd409ffcf6cedc",
"reference": "d95ffb9a830a93858ba078d3f84964b713a47aae", "reference": "b0d3e99ce9c8ec237338a70277dd409ffcf6cedc",
"shasum": "" "shasum": ""
}, },
"conflict": { "conflict": {
@ -6497,6 +6497,7 @@
"appwrite/server-ce": "<0.11.1|>=0.12,<0.12.2", "appwrite/server-ce": "<0.11.1|>=0.12,<0.12.2",
"area17/twill": "<1.2.5|>=2,<2.5.3", "area17/twill": "<1.2.5|>=2,<2.5.3",
"asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99",
"awesome-support/awesome-support": "<=6.0.7",
"aws/aws-sdk-php": ">=3,<3.2.1", "aws/aws-sdk-php": ">=3,<3.2.1",
"bagisto/bagisto": "<0.1.5", "bagisto/bagisto": "<0.1.5",
"barrelstrength/sprout-base-email": "<1.2.7", "barrelstrength/sprout-base-email": "<1.2.7",
@ -6522,7 +6523,7 @@
"cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
"cartalyst/sentry": "<=2.1.6", "cartalyst/sentry": "<=2.1.6",
"catfan/medoo": "<1.7.5", "catfan/medoo": "<1.7.5",
"centreon/centreon": "<20.10.7", "centreon/centreon": "<21.4.16|>=21.10,<21.10.8|>=22,<22.4.1",
"cesnet/simplesamlphp-module-proxystatistics": "<3.1", "cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"codeception/codeception": "<3.1.3|>=4,<4.1.22", "codeception/codeception": "<3.1.3|>=4,<4.1.22",
"codeigniter/framework": "<=3.0.6", "codeigniter/framework": "<=3.0.6",
@ -6557,7 +6558,7 @@
"doctrine/mongodb-odm-bundle": ">=2,<3.0.1", "doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
"doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4",
"dolibarr/dolibarr": "<16|= 12.0.5|>= 3.3.beta1, < 13.0.2", "dolibarr/dolibarr": "<16|= 12.0.5|>= 3.3.beta1, < 13.0.2",
"dompdf/dompdf": "<2", "dompdf/dompdf": "<2.0.1",
"drupal/core": ">=7,<7.91|>=8,<9.3.19|>=9.4,<9.4.3", "drupal/core": ">=7,<7.91|>=8,<9.3.19|>=9.4,<9.4.3",
"drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4",
"dweeves/magmi": "<=0.7.24", "dweeves/magmi": "<=0.7.24",
@ -6590,7 +6591,7 @@
"facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2",
"facturascripts/facturascripts": "<=2022.8", "facturascripts/facturascripts": "<=2022.8",
"feehi/cms": "<=2.1.1", "feehi/cms": "<=2.1.1",
"feehi/feehicms": "<=0.1.3", "feehi/feehicms": "<=2.0.1.1",
"fenom/fenom": "<=2.12.1", "fenom/fenom": "<=2.12.1",
"filegator/filegator": "<7.8", "filegator/filegator": "<7.8",
"firebase/php-jwt": "<2", "firebase/php-jwt": "<2",
@ -6759,7 +6760,7 @@
"pressbooks/pressbooks": "<5.18", "pressbooks/pressbooks": "<5.18",
"prestashop/autoupgrade": ">=4,<4.10.1", "prestashop/autoupgrade": ">=4,<4.10.1",
"prestashop/blockwishlist": ">=2,<2.1.1", "prestashop/blockwishlist": ">=2,<2.1.1",
"prestashop/contactform": ">1.0.1,<4.3", "prestashop/contactform": ">=1.0.1,<4.3",
"prestashop/gamification": "<2.3.2", "prestashop/gamification": "<2.3.2",
"prestashop/prestashop": ">=1.6.0.10,<1.7.8.7", "prestashop/prestashop": ">=1.6.0.10,<1.7.8.7",
"prestashop/productcomments": "<5.0.2", "prestashop/productcomments": "<5.0.2",
@ -6986,7 +6987,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-09-28T10:04:48+00:00" "time": "2022-10-05T15:07:13+00:00"
}, },
{ {
"name": "sebastian/cli-parser", "name": "sebastian/cli-parser",
@ -8092,16 +8093,16 @@
}, },
{ {
"name": "symfony/web-profiler-bundle", "name": "symfony/web-profiler-bundle",
"version": "v6.1.2", "version": "v6.1.5",
"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": "6589c2ee4b94d7df2f8ca160ec41265fee3f33eb" "reference": "7e9381a776881a32e59d8072beac6859e2ddbbc7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/6589c2ee4b94d7df2f8ca160ec41265fee3f33eb", "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/7e9381a776881a32e59d8072beac6859e2ddbbc7",
"reference": "6589c2ee4b94d7df2f8ca160ec41265fee3f33eb", "reference": "7e9381a776881a32e59d8072beac6859e2ddbbc7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8150,7 +8151,7 @@
"description": "Provides a development tool that gives detailed information about the execution of any request", "description": "Provides a development tool that gives detailed information about the execution of any request",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/web-profiler-bundle/tree/v6.1.2" "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.1.5"
}, },
"funding": [ "funding": [
{ {
@ -8166,7 +8167,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-06-12T09:53:37+00:00" "time": "2022-08-31T08:17:45+00:00"
}, },
{ {
"name": "theseer/tokenizer", "name": "theseer/tokenizer",

View File

@ -59,3 +59,8 @@ textarea {
.tabs-title > a { .tabs-title > a {
font-size: 1rem; font-size: 1rem;
} }
.not-implemented > a {
text-decoration: line-through;
color: #000;
}

View File

@ -1,9 +1,9 @@
$(document).foundation(); $(document).foundation();
(function() { (function() {
var tables = document.querySelectorAll('table.sortable'); let tables = document.querySelectorAll('table.sortable');
var i = 0; let i = 0;
var len = tables.length; let len = tables.length;
if (len > 0) { if (len > 0) {
for (;i < len; i++) { for (;i < len; i++) {

View File

@ -5,7 +5,7 @@
<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 %}Camera 📷 CRUD{% endblock %}</title> <title>{% block title %}Collection CRUD{% 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 %}

View File

@ -22,63 +22,19 @@
data-tabs data-tabs
id="classifications" id="classifications"
> >
<li class="tabs-title is-active"> <li class="tabs-title is-active" aria-selected="true">
<a href="#not_received" aria-selected="true">Not Yet Received</a>
</li>
<li class="tabs-title">
<a href="#working">Working</a> <a href="#working">Working</a>
</li> </li>
<li class="tabs-title"> <li class="tabs-title">
<a href="#not_working">Broken / Display Only</a> <a href="#not_working">Broken / Display Only</a>
</li> </li>
<li class="tabs-title">
<a href="#not_received" >Not Yet Received</a>
</li>
</ul> </ul>
<div class="tabs-content" data-tabs-content="classifications"> <div class="tabs-content" data-tabs-content="classifications">
<div class="tabs-panel is-active" id="not_received"> <div class="tabs-panel is-active" id="working">
<table class="hover scroll sortable stack">
<thead>
<tr>
<th>Actions</th>
<th>Brand</th>
<th>Model</th>
<th>Mount</th>
<th>Film Format</th>
<th>Serial</th>
<th>Purchase Price</th>
<th>Battery Type</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
{% for camera in not_received %}
<tr>
<td>
<ul>
<li>
<a href="{{ path('camera_edit', { 'id': camera.id }) }}">
Edit
<span class="edit-icon">&#9998;</span>
</a>
</li>
<li>
<a href="{{ path('camera_show', { 'id': camera.id }) }}">View 👁</a>
</li>
</ul>
</td>
<td>{{ camera.brand }}</td>
<td>{{ camera.model }}</td>
<td>{{ camera.mount }}</td>
<td>{{ camera.filmFormat }}</td>
<td>{{ camera.serial }}</td>
<td>${{ camera.purchasePrice }}</td>
<td>{{ camera.batteryType }}</td>
<td>{{ camera.notes }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="tabs-panel" id="working">
<table class="hover scroll sortable stack"> <table class="hover scroll sortable stack">
<thead> <thead>
<tr> <tr>
@ -186,5 +142,49 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="tabs-panel" id="not_received">
<table class="hover scroll sortable stack">
<thead>
<tr>
<th>Actions</th>
<th>Brand</th>
<th>Model</th>
<th>Mount</th>
<th>Film Format</th>
<th>Serial</th>
<th>Purchase Price</th>
<th>Battery Type</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
{% for camera in not_received %}
<tr>
<td>
<ul>
<li>
<a href="{{ path('camera_edit', { 'id': camera.id }) }}">
Edit
<span class="edit-icon">&#9998;</span>
</a>
</li>
<li>
<a href="{{ path('camera_show', { 'id': camera.id }) }}">View 👁</a>
</li>
</ul>
</td>
<td>{{ camera.brand }}</td>
<td>{{ camera.model }}</td>
<td>{{ camera.mount }}</td>
<td>{{ camera.filmFormat }}</td>
<td>{{ camera.serial }}</td>
<td>${{ camera.purchasePrice }}</td>
<td>{{ camera.batteryType }}</td>
<td>{{ camera.notes }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -0,0 +1,4 @@
<form method="post" action="{{ path('gpu_delete', {'id': gpu.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ gpu.id) }}">
<button class="btn">Delete</button>
</form>

View File

@ -0,0 +1,4 @@
{{ form_start(form) }}
{{ form_widget(form) }}
<button type="submit" class="success button expanded">{{ button_label|default('Save') }}</button>
{{ form_end(form) }}

View File

@ -0,0 +1,30 @@
{% extends 'form.html.twig' %}
{% block title %}Edit Gpu{% endblock %}
{% block form %}
<h2>Edit Graphics Card</h2>
<div class="small callout">
<ul>
<li>
<a href="{{ path('gpu_index') }}">Back to the list</a>
</li>
</ul>
</div>
<div class="large primary callout">
{{ form_start(edit_form) }}
{{ form_widget(edit_form) }}
<button
type="submit"
class="success button expanded"
>Update</button>
{{ form_end(edit_form) }}
<form method="post" action="{{ path('gpu_delete', {'id': gpu.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ gpu.id) }}">
<button type="submit" class="alert button expanded">Delete</button>
</form>
</div>
{% endblock %}

View File

@ -0,0 +1,84 @@
{% extends 'base.html.twig' %}
{% block title %}Gpu index{% endblock %}
{% block body %}
<h2>Graphics Cards</h2>
<div class="small callout primary">
<ul>
<li>
<a href="{{ path('gpu_new') }}">Add a Graphics Card</a>
</li>
</ul>
</div>
<table class="hover scroll sortable stack">
<thead>
<tr>
<th>actions</th>
<th>Id</th>
<th>Model Name</th>
<th>GPU</th>
<th>Card Brand</th>
<th>Alternate Model Name</th>
<th>Power</th>
<th>Card Keying</th>
<th>TDP</th>
<th>Link</th>
<th>Count</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
{% for gpu in gpus %}
<tr>
<td>
<ul>
<li>
<a href="{{ path('gpu_show', {'id': gpu.id}) }}">View 👁</a>
</li>
<li>
<a href="{{ path('gpu_edit', {'id': gpu.id}) }}">Edit <span class="edit-icon">&#9998;</span></a>
</li>
</ul>
</td>
<td>{{ gpu.id }}</td>
<td>{{ gpu.gpuBrand.name }} {{ gpu.modelName }}</td>
<td>
{% if gpu.gpuCore.variant %}
{{ gpu.gpuCore.name }} ({{ gpu.gpuCore.variant }})
{% else %}
{{ gpu.gpuCore.name }}
{% endif %}
</td>
<td>{{ gpu.boardBrand.name }}</td>
<td>{{ gpu.alternateModelName }}</td>
<td>
{% if gpu.pcie6power > 0 or gpu.pcie8power > 0 %}
{% if gpu.pcie6power > 0 %}
{{ gpu.pcie6power }} PCIe 6-pin
{% endif %}
{% if gpu.pcie8power > 0 %}
{{ gpu.pcie8power }} PCIe 8-pin
{% endif %}
{% elseif gpu.molexPower > 0 %}
{{ gpu.molexPower }} Molex
{% else %}
Slot
{% endif %}
</td>
<td>{{ gpu.cardKey }}</td>
<td>{{ gpu.tdp }} W</td>
<td>{{ gpu.link }}</td>
<td>{{ gpu.count }}</td>
<td>{{ gpu.notes }}</td>
</tr>
{% else %}
<tr>
<td colspan="12">no records found</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}

View File

@ -0,0 +1,22 @@
{% extends 'form.html.twig' %}
{% block title %}New Gpu{% endblock %}
{% block form %}
<h2>Add Graphics Card</h2>
<div class="small callout">
<ul>
<li>
<a href="{{ path('gpu_index') }}">Back to the list</a>
</li>
</ul>
</div>
<div class="large primary callout">
{{ form_start(form) }}
{{ form_widget(form) }}
<button type="submit" class="success button expanded">Add</button>
{{ form_end(form) }}
</div>
{% endblock %}

View File

@ -0,0 +1,76 @@
{% extends 'form.html.twig' %}
{% block title %}Gpu{% endblock %}
{% block form %}
<h2>Graphics Card</h2>
<div class="callout">
<ul>
<li>
<a href="{{ path('gpu_index') }}">Back to the list</a>
</li>
<li>
<a href="{{ path('gpu_edit', { 'id': gpu.id }) }}">Edit</a>
</li>
</ul>
<hr />
<form method="post" action="{{ path('gpu_delete', {'id': gpu.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ gpu.id) }}">
<button type="submit" class="alert button expanded">Delete</button>
</form>
</div>
<div class="large primary callout">
<table class="table">
<tbody>
<tr>
<th>Id</th>
<td>{{ gpu.id }}</td>
</tr>
<tr>
<th>ModelName</th>
<td>{{ gpu.modelName }}</td>
</tr>
<tr>
<th>AlternateModelName</th>
<td>{{ gpu.alternateModelName }}</td>
</tr>
<tr>
<th>MolexPower</th>
<td>{{ gpu.molexPower }}</td>
</tr>
<tr>
<th>Pcie6power</th>
<td>{{ gpu.pcie6power }}</td>
</tr>
<tr>
<th>Pcie8power</th>
<td>{{ gpu.pcie8power }}</td>
</tr>
<tr>
<th>CardKey</th>
<td>{{ gpu.cardKey }}</td>
</tr>
<tr>
<th>Tdp</th>
<td>{{ gpu.tdp }}</td>
</tr>
<tr>
<th>Link</th>
<td>{{ gpu.link }}</td>
</tr>
<tr>
<th>Count</th>
<td>{{ gpu.count }}</td>
</tr>
<tr>
<th>Notes</th>
<td>{{ gpu.notes }}</td>
</tr>
</tbody>
</table>
</div>
{% endblock %}

View File

@ -2,7 +2,20 @@
<div class="top-bar"> <div class="top-bar">
<div class="top-bar-left"> <div class="top-bar-left">
<ul class="menu"> <ul class="menu">
<li class="menu-text">Camera Collection</li> <li class="menu-text">Meta</li>
<li class="{{ route starts with 'brand_' ? 'is-active' }}">
<a href="{{ path('brand_index') }}">🕺 Brands</a>
</li>
<li class="not-implemented">
<a href="#">💃 Brand Categories</a>
</li>
<li class="not-implemented">
<a href="#">🐏 Ram Types</a>
</li>
</ul>
<ul class="menu">
<li class="menu-text">Photography</li>
<li class="{{ route starts with 'camera_' ? 'is-active' }}"> <li class="{{ route starts with 'camera_' ? 'is-active' }}">
<a href="{{ path('camera_index') }}">📷 Cameras</a> <a href="{{ path('camera_index') }}">📷 Cameras</a>
</li> </li>
@ -12,35 +25,40 @@
<li class="{{ route starts with 'lens_' ? 'is-active' }}"> <li class="{{ route starts with 'lens_' ? 'is-active' }}">
<a href="{{ path('lens_index') }}">🔎 Lenses</a> <a href="{{ path('lens_index') }}">🔎 Lenses</a>
</li> </li>
<li hidden>
<ul>
<li class="menu-text">Previously Owned</li>
<li class="{{ route starts with 'previously-owned-camera' ? 'is-active' }}">
<a href="{{ path('previously-owned-camera_index') }}">📷 Cameras</a>
</li>
<li class="{{ route starts with 'previously-owned-flash' ? 'is-active' }}">
<a href="{{ path('previously-owned-flash_index') }}">📸 Flashes</a>
</li>
<li class="{{ route starts with 'previously-owned-lens' ? 'is-active' }}">
<a href="{{ path('previously-owned-lens_index') }}">🔎 Lenses</a>
</li>
</ul>
</li>
<li class="menu-text">Meta</li>
<li class="{{ route starts with 'film_' ? 'is-active' }}">
<a href="{{ path('film_index') }}">🎞️ Film</a>
</li>
<li class="{{ route starts with 'camera-type_' ? 'is-active' }}">
<a href="{{ path('camera-type_index') }}">🎥 Camera Types</a>
</li>
</ul> </ul>
<ul class="menu"> <ul class="menu">
<li class="menu-text">Computer Components</li> <li class="menu-text">Computer Components</li>
<li class="{{ route starts with 'gpu-core' ? 'is-active' }}"> <li class="{{ route starts with 'gpu-core' ? 'is-active' }}">
<a href="{{ path('gpu-core_index') }}">🌀 GPU Cores</a> <a href="{{ path('gpu-core_index') }}">🌀 GPU Cores</a>
</li> </li>
</ul> <li class="{{ route starts with 'gpu_' ? 'is-active' }}">
<ul class="menu"> <a href="{{ path('gpu_index') }}">🎮 Graphics Cards</a>
<li class="menu-text">Previously Owned</li>
<li class="{{ route starts with 'previously-owned-camera' ? 'is-active' }}">
<a href="{{ path('previously-owned-camera_index') }}">📷 Cameras</a>
</li> </li>
<li class="{{ route starts with 'previously-owned-flash' ? 'is-active' }}"> <li class="not-implemented">
<a href="{{ path('previously-owned-flash_index') }}">📸 Flashes</a> <a href="#">🧮 CPUs</a>
</li>
<li class="{{ route starts with 'previously-owned-lens' ? 'is-active' }}">
<a href="{{ path('previously-owned-lens_index') }}">🔎 Lenses</a>
</li>
</ul>
<ul class="menu">
<li class="menu-text">Meta</li>
<li class="{{ route starts with 'brand_' ? 'is-active' }}">
<a href="{{ path('brand_index') }}">🕺Brands</a>
</li>
<li class="{{ route starts with 'film_' ? 'is-active' }}">
<a href="{{ path('film_index') }}">🎞️ Film</a>
</li>
<li class="{{ route starts with 'camera-type_' ? 'is-active' }}">
<a href="{{ path('camera-type_index') }}">🎥 Camera Types</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -22,86 +22,16 @@
data-tabs data-tabs
id="classifications" id="classifications"
> >
<li class="tabs-title is-active"> <li class="tabs-title is-active" aria-selected="true">
<a href="#not_received" aria-selected="true">Not Yet Received</a> <a href="#received">Received</a>
</li> </li>
<li class="tabs-title"> <li class="tabs-title">
<a href="#received">Received</a> <a href="#not_received">Not Yet Received</a>
</li> </li>
</ul> </ul>
<div class="tabs-content" data-tabs-content="classifications"> <div class="tabs-content" data-tabs-content="classifications">
<div class="tabs-panel is-active" id="not_received"> <div class="tabs-panel is-active" id="received">
<table class="hover scroll sortable stack">
<thead>
<tr>
<th>Actions</th>
<th>Brand</th>
<th>Description</th>
<th>Aperture Range</th>
<th>Focal Range</th>
<th class="text-right">Serial</th>
<th class="text-right">Purchase Price</th>
<th>Mount</th>
<th>Image Size</th>
<th>Formerly Owned</th>
<th>Front Filter Size</th>
<th>Rear Filter Size</th>
<th>Is Teleconverter?</th>
<th>Design Elements / Groups</th>
<th>Aperture Blades</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
{% for lens in not_received %}
<tr>
<td>
<ul>
<li>
<a href="{{ path('lens_edit', { 'id': lens.id }) }}">
Edit
<span class="edit-icon">&#9998;</span>
</a>
</li>
<li>
<a href="{{ path('lens_show', { 'id': lens.id }) }}">View 👁</a>
</li>
</ul>
</td>
<td>{{ lens.brand }}</td>
<td>{{ lens.coatings }} {{ lens.productLine }} {{ lens.model }}</td>
<td>{{ lens.minFStop }} &mdash; {{ lens.maxFStop }}</td>
<td>{{ lens.minFocalLength }} &mdash; {{ lens.maxFocalLength }}</td>
<td class="text-right">{{ lens.serial }}</td>
<td class="text-right">${{ lens.purchasePrice }}</td>
<td>{{ lens.mount }}</td>
<td>{{ lens.imageSize }}</td>
<td class="text-center">
{% if lens.formerlyOwned %}
<span class='small callout success'>✔</span>
{% else %}
<span class='small callout alert'>&#10007;</span>
{% endif %}
</td>
<td>{{ lens.frontFilterSize }}</td>
<td>{{ lens.rearFilterSize }}</td>
<td class="text-center">
{% if lens.isTeleconverter %}
<span class='small callout success'>✔</span>
{% else %}
<span class='small callout alert'>&#10007;</span>
{% endif %}
</td>
<td>{{ lens.designElements }} / {{ lens.designGroups }}</td>
<td>{{ lens.apertureBlades }}</td>
<td>{{ lens.notes }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="tabs-panel" id="received">
<table class="hover scroll sortable stack"> <table class="hover scroll sortable stack">
<caption>Received</caption> <caption>Received</caption>
<thead> <thead>
@ -172,5 +102,75 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="tabs-panel" id="not_received">
<table class="hover scroll sortable stack">
<thead>
<tr>
<th>Actions</th>
<th>Brand</th>
<th>Description</th>
<th>Aperture Range</th>
<th>Focal Range</th>
<th class="text-right">Serial</th>
<th class="text-right">Purchase Price</th>
<th>Mount</th>
<th>Image Size</th>
<th>Formerly Owned</th>
<th>Front Filter Size</th>
<th>Rear Filter Size</th>
<th>Is Teleconverter?</th>
<th>Design Elements / Groups</th>
<th>Aperture Blades</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
{% for lens in not_received %}
<tr>
<td>
<ul>
<li>
<a href="{{ path('lens_edit', { 'id': lens.id }) }}">
Edit
<span class="edit-icon">&#9998;</span>
</a>
</li>
<li>
<a href="{{ path('lens_show', { 'id': lens.id }) }}">View 👁</a>
</li>
</ul>
</td>
<td>{{ lens.brand }}</td>
<td>{{ lens.coatings }} {{ lens.productLine }} {{ lens.model }}</td>
<td>{{ lens.minFStop }} &mdash; {{ lens.maxFStop }}</td>
<td>{{ lens.minFocalLength }} &mdash; {{ lens.maxFocalLength }}</td>
<td class="text-right">{{ lens.serial }}</td>
<td class="text-right">${{ lens.purchasePrice }}</td>
<td>{{ lens.mount }}</td>
<td>{{ lens.imageSize }}</td>
<td class="text-center">
{% if lens.formerlyOwned %}
<span class='small callout success'>✔</span>
{% else %}
<span class='small callout alert'>&#10007;</span>
{% endif %}
</td>
<td>{{ lens.frontFilterSize }}</td>
<td>{{ lens.rearFilterSize }}</td>
<td class="text-center">
{% if lens.isTeleconverter %}
<span class='small callout success'>✔</span>
{% else %}
<span class='small callout alert'>&#10007;</span>
{% endif %}
</td>
<td>{{ lens.designElements }} / {{ lens.designGroups }}</td>
<td>{{ lens.apertureBlades }}</td>
<td>{{ lens.notes }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div> </div>
{% endblock %} {% endblock %}