Commit Graph

551 Commits

Author SHA1 Message Date
Hugo Sales 06b9bd9910
[CONTROLLER][AdminPanel] Further ensure form validity 2021-08-14 16:12:56 +01:00
Hugo Sales 47daf6169a
[CORE][Log] Add Log::unexpected_exception utility which logs and throws a ServerException 2021-08-14 16:12:56 +01:00
Hugo Sales 71b1ee7796
[CORE][Entity] Fix implementation of createOrUpdate so it doesn't throw NotFoundException if trying to create an object
This was previously done because we wanted to notify the callee that
and entity existed but not with the provided contents. With the change
of return value, with a bool $is_update, this is no longer a problem.
2021-08-14 16:12:55 +01:00
Hugo Sales c38bbed7df
[UTIL][FormFields] Move FormFields class to Util\Form namespace 2021-08-14 16:12:54 +01:00
Eliseu Amaro 7308e66981
[Favourite][TWIG][CSS] Favourite now works. 2021-08-14 16:12:54 +01:00
Diogo Peralta Cordeiro 67f5421691
[ATTACHMENTS] Add dependencies counter 2021-08-05 14:44:05 +01:00
Diogo Peralta Cordeiro 5896f5bb82
[Avatar] Move entity from core to component 2021-08-05 03:23:05 +01:00
Diogo Peralta Cordeiro 1556b3e019
[CORE][GSFile] Allow storing files under /file 2021-08-05 03:22:57 +01:00
Hugo Sales c58b9fb5b1
[TESTS] Ignore coverage of ResetPasswordRequest, as it uses mailing functionality. We may want to introduce this test in the future 2021-08-04 20:11:47 +00:00
Hugo Sales 97a3c067d9
[UTIL][FormFields] Allow specifying whether a password is required and provide placeholder text 2021-08-04 20:11:47 +00:00
Hugo Sales 92db61a975
[ROUTES] Remove individual settings pages, as they got merged 2021-08-04 20:11:47 +00:00
Hugo Sales 05e10589c3
[ENTITY] Refactor LocalUser::changePassword for easier use 2021-08-04 20:11:47 +00:00
Hugo Sales a590ddd85e
[UTIL][EXCEPTION] Add AuthenticationException, representing an auth error, status code 401 unauthorized 2021-08-04 20:11:47 +00:00
Hugo Sales 0bead1c58a
[TESTS] Change format of data fixtures to allow creating more users 2021-08-04 20:11:47 +00:00
Hugo Sales 0845224188
[CORE][DB] Specify desired case in array_change_case, for clarity 2021-08-04 20:11:47 +00:00
Hugo Sales 1da1f0918e
[TESTS] Raise test coverage for AdminPanel to 100% 2021-08-04 20:11:47 +00:00
Diogo Peralta Cordeiro b075ab610b
[SECURITY] Do not require email when in development 2021-08-04 17:48:00 +01:00
Hugo Sales 960675b459
[TESTS] Raise test coverage for AdminPanel controller to 100% 2021-08-03 19:37:56 +00:00
Hugo Sales f9c1d14c7a
[TESTS] Raise test coverage for Attachment controller to 100% 2021-08-03 19:37:56 +00:00
Hugo Sales ed21290ef4
[TESTS] Add a sample image to the test dataset 2021-08-03 19:37:56 +00:00
Hugo Sales 6b098a26f7
[CORE][GSFile] Ensure files are stored inside the configured storage folder, with a relative filename in the database 2021-08-03 19:37:56 +00:00
Hugo Sales 19a966f1a9
[CORE][CONTROLLER] Add TODO to Controller base class as to where our custom exception pages would be implemented 2021-08-03 19:23:03 +00:00
Hugo Sales f5f11b6e54
[CORE][ENTITY] Allow create'ing will null values 2021-08-03 19:23:03 +00:00
Hugo Sales 927472cf06
[UTIL][FORM] Create a utility class that defines common form fields, such as passwords 2021-08-03 19:23:02 +00:00
Hugo Sales b2456d8cd2
[TESTS] Raise test coverage for Controller/Security to 100% 2021-08-03 19:23:02 +00:00
Hugo Sales d1e92a80e5
[CORE][GSFile] Assert that the destination folder where to store the attachment is inside the INSTALLDIR and store the filepath in the database 2021-08-03 19:23:02 +00:00
Hugo Sales af951685ed
[TESTS] Add coverage ignore to TemplateController and ResetPassword (as it requires sending emails) 2021-08-03 19:23:02 +00:00
Hugo Sales 9c61e92257
[CONTROLLER][Attachment] Assert that the supplied is positive and add documentation 2021-08-03 19:23:02 +00:00
Hugo Sales 4297eb71a0
[CORE][GSFile] Change actor_id paramenter of validateAndStoreFileAsAttachment to optional and reorder them and their usages 2021-08-03 19:23:02 +00:00
Hugo Sales b89368bf6a
[AUTOGENERATED] Update entity fields for ResetPasswordRequest entity 2021-08-03 19:23:02 +00:00
Hugo Sales 5fc5df68f5
[CORE] Add repositories, as needed by the Reset Password Bundle 2021-08-03 19:23:02 +00:00
Hugo Sales a83d506d6c
[UTIL] Add a class that defines commonly used form fields 2021-08-03 19:22:54 +00:00
Hugo Sales 56481c8289
[CORE] Add passowrd reset and forgot password functionality 2021-08-03 19:22:54 +00:00
Hugo Sales bdbd588de9
[CORE][SECURITY][EMAIL] Move email confirmation functionality to it's own static wrapper, in preparation for adding password reset functionality 2021-08-03 19:22:54 +00:00
Hugo Sales 176d604abb
[CONTROLLER][Security] Refactor and make clearer errors with duplicate nicknames and emails. Return notes as a callable, since they're not used in the default template, in the login and register pages 2021-08-03 19:22:54 +00:00
Hugo Sales bff65afe5d
[TESTS][Queue] Add @codeCoverageIgnore to select queueing functions 2021-08-03 19:22:50 +00:00
Hugo Sales 6479b698f8
[TESTS][Router] Add tests for Router and use named paramenters, as we can since PHP8 2021-08-03 19:22:16 +00:00
Hugo Sales a01914ddac
[ENTITY][LocalUser] Add method 'findByNicknameOrEmail' 2021-08-03 19:22:16 +00:00
Hugo Sales 2e3ec15827
[CORE][Controller][TESTS] Fix issue that arrises in tests where the Accept header is not specified 2021-08-03 19:22:12 +00:00
Hugo Sales 6deac21960
[EXCEPTION] Add Email related exceptions 2021-08-03 19:21:34 +00:00
Hugo Sales c4de4cab32
[UTIL][Nickname] Refactor Nickname and extract a validate function, as we'll want to perform normalization in select cases in the future, likely as a plugin 2021-08-03 19:21:34 +00:00
Hugo Sales 988d384654
[TESTS][DataFixtures] Add password and email to created test user 2021-08-03 19:15:30 +00:00
Hugo Sales 14db5d9864
[TESTS][Twig] Add @codeCoverageIgnore to select methods, as these are simple wrappers 2021-08-03 19:15:30 +00:00
Hugo Sales e196a3577d
[ENTITY] Remove 'normalized_nickname' field from GSActor as that feature will be moved to a plugin 2021-08-03 19:15:30 +00:00
Hugo Sales c0e4dec674
[TESTS][DOCUMENTATION][Module] Add documentation and exclude method from testing in Module base class 2021-08-03 19:15:30 +00:00
Hugo Sales 88ab76c480
[CORE][TemporaryFile] Add option to specify attempts and better handle when reaching the attemp limit without being able to create a file 2021-08-03 19:14:56 +00:00
Hugo Sales 1f9acaf4ef
[TESTS] Add tests for GSFile 2021-08-03 19:13:30 +00:00
Hugo Sales 55710aa33d
[DB] Refactor findOneBy method 2021-08-03 19:13:29 +00:00
Hugo Sales 8e743eabb9
[TESTS][DOCUMENTATION] Add documenation for the list events command and exclude it from unit testing 2021-08-03 19:13:29 +00:00
Hugo Sales d34155c743
[CONFIG] Make password length limits configurable 2021-08-03 19:13:29 +00:00
Hugo Sales 400716c1b2
[TESTS] Exclude class Security from testing, as it's a simple wrapper 2021-08-03 19:13:29 +00:00
Hugo Sales 75c9ffde31
[TESTS] Raise test coverage for ModuleManager to 100% 2021-08-03 19:13:29 +00:00
Hugo Sales 4258148a03
[TESTS] Exclude HTTPClient from testing, as it's a simple wrapper and we don't want to be performing HTTP requests in tests, for speed and reliability 2021-08-03 19:13:29 +00:00
Hugo Sales 6956e6907c
[TESTS] Raise test coverage for Form to 100% 2021-08-03 19:13:29 +00:00
Hugo Sales 5777cdeaf9
[TESTS][LOG] Raise test coverage for Log class to 100% 2021-08-03 19:13:28 +00:00
Hugo Sales b0ef7599b2
[TESTS] Ignore GNUsocial class from tests, as it simply pipes objects around 2021-08-03 19:13:28 +00:00
Hugo Sales 2c74bd7fb4
[FORM][DOCUMENTATION] Add documentation to Form class 2021-08-03 19:13:28 +00:00
Hugo Sales b9fdaa1401
[EVENT] Fixup implementation, as imformed by tests 2021-08-03 19:13:28 +00:00
Hugo Sales 88bb0c6b38
[ENTITY] Fixup implementation, as imformed by tests 2021-08-03 19:13:28 +00:00
Hugo Sales df956a5f90
[DB] Handle using methods with class name as well as table name and add lookup methods 2021-08-03 19:13:28 +00:00
Hugo Sales 2beda0dd44
[TESTS] Add ignore annotations to code paths that serve as hooks in DependencyInjection 2021-08-03 19:13:27 +00:00
Hugo Sales b79629b6d2
[TESTS][CACHE] Fixup errors found in cache implementation by testing. Ensure the newest values are kept, in pushList with max_count 2021-08-03 19:13:27 +00:00
Hugo Sales 4f6f4aa512
[ENTITY] Fix foreign key type in Cover entity, as found by tests 2021-08-03 19:13:27 +00:00
Eliseu Amaro 780d341939 [SETTINGS][ROUTES][CONTROLLER] Settings overhaul, refactoring to accommodate new global settings view. WIP, component settings aren't shown at the moment.
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-08-03 19:02:39 +01:00
Diogo Peralta Cordeiro 0273c8ca24
[DOCS][Dev] Add Queues 2021-08-03 17:23:58 +01:00
Diogo Peralta Cordeiro 477518abf7
[DOCS][Dev] Add Internationalisation 2021-08-03 16:07:32 +01:00
Diogo Peralta Cordeiro df1f12470f
[DOCS][Dev] Add Routes and Controllers 2021-08-03 13:34:56 +01:00
Diogo Peralta Cordeiro 3c0f6b294f
[DOCS] Write exceptions chapter 2021-07-28 21:06:55 +01:00
Diogo Peralta Cordeiro 86e92fedc2
[MEDIA][Thumbnail] Fix non-instantiated variable 2021-07-26 21:19:40 +01:00
Hugo Sales bf01e97533
[SECURITY] Remove aggressive normalization of nicknames. This will be moved to a plugin in the future and we'll open an RFC, as discussed 2021-07-26 17:12:42 +00:00
Diogo Peralta Cordeiro cc0ef73799 [MEDIA][AttachmentThumbnail] Add mimetype to Entity 2021-07-22 21:17:23 +01:00
Diogo Peralta Cordeiro 832a5c0bd9 [Media] Support any kind of thumbnails in the Core
Sanitize Attachments instead of Validate (part 1)
Ensure the intended filetypes and mimetypes during Vips conversions (part 1)
Various bug fixes
2021-07-22 21:10:45 +01:00
Diogo Peralta Cordeiro 143ecea376 [Media] File quota should be triggered by the Core 2021-07-22 21:10:45 +01:00
Diogo Peralta Cordeiro aada96beb7 [MEDIA] We need permissions to run chmod in directories
It's better to have in the filename data that we couldnt't otherwise rapidly retrieve
2021-07-22 12:32:52 +01:00
Diogo Peralta Cordeiro 218bec1826 [MEDIA] Fix database misses on thumbnail retrieval
We were storing the real scaling values instead of the predictions, but the core is never able to pre-compute the real values generated by the encoding plugins so, we have to rely on our own aproximation function ported from v2
2021-07-20 23:47:27 +01:00
Diogo Peralta Cordeiro 4d2131808a [FILE][TemporaryFile] Fix various issues now that we also have Symfony's file abstractions 2021-07-20 23:46:18 +01:00
Diogo Peralta Cordeiro 086754d95b [CORE][GNUsocial] Fix undefined property typo 2021-07-20 11:48:29 +01:00
Diogo Peralta Cordeiro 3af3526b5c [CORE] Proxies: constant HEADER_X_FORWARDED_ALL is deprecated
Give ENV preference over SERVER
2021-07-19 15:24:12 +01:00
Hugo Sales a46140fc00 [UTIL] Add utility to flatten the result of note queries 2021-05-23 19:59:42 +00:00
Hugo Sales eecef99372 [TESTS] Raise test coverage for App\Controller\Network to 100% and fixup related code 2021-05-23 19:56:45 +00:00
Hugo Sales 818a31a690 [UTIL] Provide static access to current request and utilities in Common 2021-05-12 19:33:03 +00:00
Hugo Sales 9b862d6a26 [CORE] Throw more meaningfull error when method doesn't exist in Security and Entity 2021-05-12 15:44:09 +00:00
Hugo Sales f8107c86c5 [TESTS] Raise App\Core\DB\DB test coverage to 100% and fix issues found 2021-05-11 21:04:15 +00:00
Hugo Sales 31518f97ee [CORE] Clarify message when calling non existent method in Entity 2021-05-06 21:54:50 +00:00
Hugo Sales dab822037c [TESTS] Merge datafixtures to allow for using the correct ID in notes, and add group_inbox 2021-05-06 21:54:50 +00:00
Hugo Sales 79644d1e2b [TESTS] Add GNUsocialTestCase, which initializes our infrastructure when bootKernel is called 2021-05-06 21:54:50 +00:00
Hugo Sales 5f9b61f4bf [AUTOGENERATED] Update autogenerated code 2021-05-05 16:03:03 +00:00
Hugo Sales f25494cd83 [TOOLS][TESTS] Add a data fixture with example notes, for testing 2021-05-05 13:37:43 +00:00
Hugo Sales b79c0595d5 [TESTS] Expand test coverage for App\Util\Forms\ArrayTransformer, App\Util\Notification and App\Twig\Runtime 2021-05-05 13:37:10 +00:00
Hugo Sales 33cdea87ee [TWIG] Remove unused Twig function 'get_note_other_content' 2021-05-05 13:35:25 +00:00
Hugo Sales dd218b04e9 [UTIL] Fix App\Util\TemporaryFile, adding default options and preventing warning on not enough permission 2021-05-05 12:46:17 +00:00
Hugo Sales f946da6f29 [TOOLS][TESTS] Add data fixtures, which populate the database with users used for testing 2021-05-05 12:46:08 +00:00
Hugo Sales 9e2037e086 [UTIL] Rename and rewrite isTaken to checkTaken 2021-05-05 12:46:08 +00:00
Hugo Sales 84399a76e3 [ENTITY] Add 'normalized_nickname' to GSActor, the result of Nickname::normalize, so we can make sure we don't have very similar nicknames duplicated 2021-05-05 12:46:08 +00:00
Hugo Sales f5fcfe628e [TESTS] Raise App\Util\HTML test coverage to 100% 2021-05-02 21:02:43 +00:00
Hugo Sales fde7b87c65 [TESTS] Raise App\Util\Bitmap test coverage to 100% 2021-05-02 20:47:15 +00:00
Hugo Sales f841e5e0dd [TESTS] Raise App\Util\Common test coverage to 100% 2021-05-02 20:42:25 +00:00
Hugo Sales 39ac043d59 [ENTITY] Add uniqueness constraint to Attachment::file_hash 2021-05-02 15:48:33 +00:00
Hugo Sales 041d19a22d [ATTACHMENTS] Don't store an attachment if it's a dupplicate, reuse it 2021-05-02 15:48:33 +00:00
Hugo Sales b99fab00e9 [UTILS][TemporaryFile] Change way TemporaryFile takes arguments and it's internal implementation 2021-05-02 15:48:33 +00:00