[root]/Tests/Unit/MVC/Controller

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 56 (100.0%) | 441 (100.0%) | 7.8 |
| robert | 27 (48.2%) | 280 (63.5%) | 10.3 |
| sebastian | 4 (7.1%) | 83 (18.8%) | 20.7 |
| k-fish | 25 (44.6%) | 78 (17.7%) | 3.1 |
Removed everything in trunk after move to git.
0 lines of code changed in 9 files:
[~TASK] FLOW3 (MVC): Changed the order how views are resolved: If a dedicated view exists for the controller / action pair, it is chosen instead of the Fluid Template View.
[+FEATURE] FLOW3 (MVC): The ActionController now allows for specifying view object names for each format, e.g. a specific view for JSON request, another one for HTML etc. Resolves #7113
[!!!]][API] FLOW3 (MVC): Added a new method to the ViewInterface: canRender() must tell if the view is able to render something meaningful for the given controller context.
[~TASK] Fluid (View): Adjusted the template view to the extended ViewInterface.
27 lines of code changed in 1 file:
[~TASK][!!!] FLOW3 (MVC): Renamed the RESTController to RestController.
0 lines of code changed in 1 file:
[~TASK][!!!] FLOW3 (MVC): Renamed the RESTController to RestController.
[+FEATURE] FLOW3 (MVC): The name of the request argument triggering the actions show(), delete() and update is now configurable through the RestController's property "resourceArgumentName". Default name is "resource". Resolves #9327
0 lines of code changed in 1 file:
[-TASK] FLOW3: Removed @version keyword from files, resolves #8835.
0 lines of code changed in 8 files:
[~TASK] FLOW3: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, resolves #7682.
[~TASK] Fluid: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] Kickstart: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] Testing: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] TypoScript: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682. Renamed on exception to follow CGL.
[~TASK] TYPO3: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682. Renamed existing exceptions to follow CGL.
2 lines of code changed in 1 file:
[+FEATURE][+API] FLOW3 (Object): The Object Manager (and the object containers) now provide a method for retrieving the implementation class name by specifying the object name. Resolves #7960
[~TASK] FLOW3 (MVC): The Request object now returns the case sensitive action name, even if it has been set all lowercase by a route. That means that a route http://host/package/mycontroller/myaction will be correctly resolved to myActionAction if \F3\Package\Controller\MyController::myActionAction exists. Addresses #7243
29 lines of code changed in 1 file:
[-API] FLOW3 (MVC): Controller\Argument no longer has setNewValidatorConjunction() - it was unused.
[+BUGFIX] FLOW3 (Persistence): Fixed building of hash for value objects.
[~TASK] FLOW3 Distribution (Build system): Moved vfsStream to a new folder; PHPUnit target fails build on error and failure now;
[-TASK] FLOW3: Fixed/removed some incomplete unit tests.
[-TASK] Fluid: Removed some incomplete unit tests.
[~TASK] Testing: Adjusted Bootstrap.php file to fixed FLOW3 Bootstrap behavior.
0 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Validation): The @validate annotations in action methods now support an object accessor syntax ($argument.subobject.subsubobject) for declaring additional validation rules referring to a property of a nested object. Resolves #6993
[~TASK] FLOW3 (Validation): Brushed up and unified the messages of most validators.
[~TASK] FLOW3 (Error): The var_dump method now also filters PHPUnit Invocation Mokers.
4 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): Renamed Controller\Context (back) to Controller\ControllerContext, resolves #6949.
[~TASK] ExtJS: Renamed Controller\Context (back) to Controller\ControllerContext, relates to #6949.
[~TASK] Fluid: Renamed Controller\Context (back) to Controller\ControllerContext, relates to #6949.
7 lines of code changed in 2 files:
[+FEATURE] FLOW3 (Object): Implemented a static object container which is automatically built. It's essentially a hardcoded version of the autowired and configured object dependencies - just a lot faster. Many tests are still missing, but the version in this commit should be mostly functional. Addresses #3740 and resolves #2123.
[!!!][~API] FLOW3 (Object): Heavily refactored the Object Manager and its tests. The most important change is the removal of the Object Factory whose create() method is now located in the Object Manager. Furthermore, the getObject() method has been renamed to get() and a few minor important API functions within the Object Manager have been modified. This commit also contains a script which allows for semi automatically migrating existing code to the new API (see ./flow3 migrate objectmanagerusage). Resolves #6562
[~TASK] FLOW3 (Configuration): The Configuration Manager and its YAML source now doesn't depend on the YAML package anymore but refers to a YAML parser class within the FLOW3 package. Resolves #6564.
130 lines of code changed in 6 files:
[~TASK] FLOW3 (Core): When setting up signal/slot wiring do not rely on the YAML parser returning true booleans in the specific case at hand.
[~TASK] FLOW3 (Monitor): Renamed $signalSlotDispatcher to $signalDispatcher like in other classes.
[+FEATURE] FLOW3 (Persistence): added signals when persisting new and updated objects and when removing objects, resolves #6177.
[~TASK] FLOW3 (Resource): Moved some work from the ResourceObjectConverter to the ResourceManager when importing uploaded files.
[+API] FLOW3 (Resource): added deleteResource() to ResourceManager to remove persisted resources.
61 lines of code changed in 1 file:
[~TASK] FLOW3 (Documentation): Updated the Coding Guidelines: removed inconsistent exceptions from the general class naming rules. Also added the rule that names of aspect classes must end with "Aspect". Relates to #5658
[~TASK] Global: Renamed many classes and interfaces in order to be consistent with FLOW3's naming rules. A migration script to update third-party applications will follow soon. Resolves #5658
50 lines of code changed in 9 files:
[+FEATURE] FLOW3 (Persistence): Wrote a new persistence backend using a database directly instead of TYPO3CR. Details see below. Resolves #6006.
[+API] FLOW3 (Persistence): Added new backend classes that can be used for further backends.
[-API] FLOW3 (Persistence): Removed methods getIdentifierByObject(), getObjectByIdentifier() and isNewObject() from BackendInterface.
[+API] FLOW3 (Persistence): Removed methods getIdentifierByObject(), getObjectByIdentifier() and isNewObject() to ManagerInterface and Manager.
[-API] FLOW3 (Persistence): Removed withUUID() from QueryInterface, use getObjectByIdentifier() on Manager instead.
[+API] FLOW3 (Persistence): Added constants for query operators to QueryInterface.
5 lines of code changed in 1 file:
[~TASK] FLOW3 (AOP): Removed the "Resource" sub package from the blacklisted sub packages because it now contains a class (Resource) which needs to be persistable.
[-FEATURE][!!!] FLOW3 (MVC): For now removed the request hash feature (HMAC) because it mocks a level of security for incoming data which it doesn't provide. The current mechanism effectively puts control over content security into Fluid templates and it doesn't belong there. Although there might be a need for a request hash, the content security must be implemented by other means. Relates to #4960 and relates to #5659.
[+FEATURE] FLOW3 (MVC): Implemented support for file uploads. Uploading files is cooperation between the Web Request Builder, the Property Mapper and the Resource sub package. The solution included in this commit provides handling of incoming files (including nested arguments) and transparent conversion into Resource objects. Resources (files) are only stored once, no matter how often they are uploaded or what original filename they carried. Still missing: view helper, documentation and automatic purging of unused resource files. Addresses #342.
[~API][!!!] FLOW3 (Property): Renamed the property mapper class to "PropertyMapper" (was just "Mapper" before). Relates to #5658
[+FEATURE] FLOW3 (Property): The Property Mapper now supports a mechanism called Object Converters. These convertes enable the mapper to convert strings, arrays or numbers to certain objects, for example a unix time stamp to a DateTime object. Resolves #5660.
[+FEATURE] FLOW3 (Reflection): Implemented the methods "isPropertySettable" and "isPropertyGettable" for the ObjectAccess class.
[~TASK] FLOW3 (Resource): Renamed the StreamWrapper class to StreamWrapperAdapter
[+FEATURE] FLOW3 (Resource): Implemented a ResourceObjectConverter which is capable of converting arrays or strings to Resource objects.
[+FEATURE] FLOW3 (Utility): Implemented a setValueByPath() method for the Array utilities class.
[+FEATURE] FLOW3 (Utility): Added support for the _FILES super global to the Environment class. The array of information about uploaded files can be obtained in a much cleaner way than PHP provides it by the new getUploadedFiles() method.
7 lines of code changed in 3 files:
[~API] FLOW3 (Log): setLogFileURL() was renamed to setLogFileUrl() in FileBackend.
[~API] FLOW3 (MVC): redirectToURI() was renamed to redirectToUri() in AbstractController.
[~API] FLOW3 (MVC): setRequestURI(), getRequestURI(), setBaseURI() and getBaseURI() were renamed to *Uri() in Request.
[~API] FLOW3 (Property): DataType\URI was renamed to DataType\Uri.
[~API] FLOW3 (Utility): getRequestURI() was renamed to getRequestUri() in Environment.
[~TASK] Fluid (Service): Refactored XML generators a little.
[~TASK] DocumentationBrowser: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] FLOW3: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Fluid: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Kickstart: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Testing: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Welcome: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
2 lines of code changed in 1 file:
[~TASK][+API] FLOW3 (MVC): Refactored the Controller Context and how its being built in the Abstract Controller and Action Controller. The controllers now provide a method getControllerContext() which can potentially be used as a factory method for injecting a controller's current context into other objects (such as a TypoScript view).
22 lines of code changed in 3 files:
[~API] FLOW3 (MVC): Configured the AbstractView and NotFoundView to be of scope prototype instead of singleton. Make sure to annotate all your views as prototypes as well!
[~TASK] Fluid (View): TemplateView is now prototype because it can be configured. If it stayed a singleton, we'd run into big trouble when template views are nested.
11 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): Renamed exception InvalidOrNoRequestHash to InvalidOrMissingRequestHash, some tiny documentation tweaks.
1 lines of code changed in 1 file:
[!!!][+FEATURE] FLOW3 (Security): Added a HMAC generator and checker to prevent unauthorized access on objects where no edit fields were generated for. It is mandatory in case objects are modified on the server side. See the issue for a more in-depth explanation. This feature does NOT break backwards-compatibility as long as you use only Fluid for form-generation. In case of custom fields, it WILL break backwards compatibility, and you might need the @dontverifyrequesthash annotation. Resolves #4960.
[+FEATURE] Fluid (ViewHelpers): Added a request hash to all form fields. It is mandatory in case objects are modified on the server side. Relates to #4960.
83 lines of code changed in 4 files: