Commit Graph

67 Commits

Author SHA1 Message Date
d2b29e2225
The refactoring added final readonly to App\Services\Role\BuilderCommand. 2023-08-01 23:43:03 +06:00
8f143c031f
Fixed warning in analysis PHP Storm. 2023-08-01 23:40:10 +06:00
3e18ca6510
Fixed warning in analysis PHP Storm. 2023-08-01 23:38:09 +06:00
faa706a79a
Removed duplicate "Toggle Navigation" keys in languages. 2023-08-01 23:36:16 +06:00
941699f473
Added @can('delete', $role). 2023-08-01 22:09:39 +06:00
9c1ed593b5
Added method getRolesForSelect in the RoleRepository. 2023-08-01 22:09:06 +06:00
73d99a0432
Fixed typo deleting RolePolicy: Role to role. 2023-08-01 22:07:47 +06:00
52c6fd88d7
Added the ability to manage users. 2023-08-01 22:04:35 +06:00
dc6b6b0d42
Added @canany(['create', 'update'], $role) to resources/views/private/roles/_from.blade.php. 2023-08-01 21:53:07 +06:00
4083e2ec5e
Added the ability to manage a group of users. 2023-07-16 19:21:09 +06:00
ba7e52f8ac
Added a new function 'errors' in Private Controller to handle service errors. This function checks if the resulted error code matches HTTP_UNPROCESSABLE_ENTITY and in that case, it redirects back with input and errors. For any other case, it aborts with the resulted error code and message. The main purpose of this change is to centralize error handling in one place and make the controller's actions cleaner. 2023-07-12 23:44:53 +06:00
1facb19efb
Refactor Role.php for improved code clarity.
The Role class in app/Models has been refactored to improve readability and maintainability. The 'slug' field was replaced with 'code' for consistency with the rest of the codebase. In addition, the 'isRemove' and 'isAdmin' methods were rewritten using new 'Attribute' Eloquent cast. This refactor enhances the code's clarity, promotes better comprehension, and clears redundant code comments.
2023-07-12 23:42:29 +06:00
919f6e1e42
Added click confirmation script. 2023-07-12 23:31:20 +06:00
ec5be8167e
Add @stack('scripts') to main layout. 2023-07-12 23:23:51 +06:00
d10cc8603e
The color of the links in the footer was changed from primary (probably blue) to gray-700 (dark gray) to improve readability against the white background. The change affects the link to the author's Github page and the link to the Volt - Bootstrap 5 Dashboard Template product page. 2023-07-12 22:53:27 +06:00
adb20f70a5
Update primary color variable in SCSS. 2023-07-12 22:52:29 +06:00
2121af2914
Renamed the "slug" field in the roles table to "code" to facilitate coding standards and improve readability. This unique identifier will now be referred to as 'code' across the application, creating consistency and reducing potential confusion in the future.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-12 22:30:05 +06:00
a3fa966643
Adjusted padding in sidebar for large screens. 2023-07-10 23:12:38 +06:00
9319c2d92d
A new middleware UserLocale.php has been added. This middleware sets the language locale based on each user's preference. It operates by checking if the user's preferred language is set during the request cycle and if so, it changes the app's locale accordingly. This feature facilitates personalization by displaying the app in a user's preferred language.
Also, registering the middleware in the `Kernel.php` allows it to be used throughout the application
2023-07-10 21:44:00 +06:00
907bac5586
Added the ability to save user settings. 2023-07-10 21:42:55 +06:00
b1c9dac3cc
The type for 'timezone' in the 'users' table was previously assigned as an unsigned integer. For flexible usage and to support a larger range of timezones, it has been altered to a string. The maximum length is set to 50 characters. This change ensures a more universal and user-friendly handling of various timezone situations.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-10 21:39:40 +06:00
79112680bd
Updated the visibility of getTitle, getType, and getValue methods in the Input class from protected to private. This was done to limit and control access to these methods to only within the class, enhancing encapsulation and improving security. 2023-07-09 19:39:37 +06:00
524bf569e3
The 'locale' column in the users table migration was renamed to 'lang'. This change was made to improve the clarity and consistency of naming conventions across the database. The term 'lang' is more universally recognized and thus provides better code readability.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-09 19:31:42 +06:00
e5d0cac07d
Changed the data type and default value of 'locale' and 'timezone' fields in the users table. Instead of using strings, we are now using unsigned integers.
!!! Since the project has not yet been launched, therefore, I do not create a new migration, but change the current one. !!!
2023-07-08 15:12:10 +06:00
39eae7f196
Added a new feature to allow users to update their passwords. 2023-07-07 18:08:14 +06:00
00a0624eea
This commit adds update functionality to user profiles. New routes, views, and controller methods have been created to facilitate this along with form requests for validation. Significant changes include new methods in the ProfileController, addition of an UpdateRequest class for validation purposes and the creation of a profile update view. These changes allow users to edit and update their profile information on the application. 2023-07-07 00:07:19 +06:00
55cd927f12
This commit adds two new components for handling form inputs in the private section of the site. 'Form.php' provides a base class for forms with methods for retrieving request names. 'Input.php' extends this to handle input fields specifically, allowing title, name, type, and value to be specified. An associated Blade view 'input.blade.php' has been added to render these inputs in views. This helps in reusability and maintainability. 2023-07-07 00:05:38 +06:00
24098415b5
Changed the way bootstrap is imported and added Chartist for charting functionality. This update provides wider access to Bootstrap features and integrates Chartist for better data representation. 2023-07-07 00:03:57 +06:00
398f5e2097
Added necessary template files and view components for scaffolding of the private area of the application. This includes error and success message components for efficient handling of user feedback messages. Added navigation components and dashboard structure to the private layout. This will streamline the implementation of features in the private area and ensure a consistent user interface. 2023-07-07 00:03:03 +06:00
92206a028a
Refactor error check in AuthController.
Changed the error check in the AuthController from checking if the result is not successful to checking if the result has an error. This change was made to clarify the code and ensure that errors are handled properly.
2023-07-06 22:32:29 +06:00
6dd24ac1d3
A new method 'isError' has been introduced to the ServiceResult interface and its implementation. This change was made to improve readability and logic. Now instead of checking if the result is not successful, we can directly check if it's an error using isError method. This improves the code clarity. 2023-07-06 22:31:39 +06:00
91810190b7
Introduced a new class ServiceResultSuccess to distinctively handle successful service responses. Changes were made in AuthService and Service base class to replace ServiceResultArray with ServiceResultSuccess for successful operations. This provides a more accurate response type and improves code readability. 2023-07-06 21:54:10 +06:00
c18e7e54b7
Modified the Middleware Kernel to use a new method for request throttling that uses Redis and created a new middleware to ensure that user email is verified.
These changes allow for more efficient request throttling by utilizing Redis. The new EnsureUserIsVerified middleware improves security by validating that a user's email has been verified or if the user is active before granting access, returning a 403 error if the user fails these checks.
2023-07-06 19:52:39 +06:00
00910831a4
The authorization method of the AuthController has been updated to specify a return type. This was done to ensure that the method always returns an instance of a RedirectResponse, thereby enhancing the code's readability and preventing unexpected return types. 2023-07-06 19:50:22 +06:00
5d61ab425e
Extended rate limiting functionality within the RouteServiceProvider to limit the login requests. Now the application limits the number of requests both per IP address and per email. This will drastically improve security by minimizing automated spam and brute-force attack attempts. 2023-07-06 10:50:15 +06:00
f481ee765d
Made authorization. 2023-07-06 10:48:32 +06:00
6b2aff910b
Added console command to add user with admin role. 2023-07-02 16:17:18 +06:00
d0bd480dc1
A new enumeration 'SystemRole' has been created for user roles. For now, it only contains one case 'Admin'. This list is intended to designate system roles that cannot be removed. 2023-07-02 16:07:49 +06:00
0073dffc28
Implemented password validation rules in the AppServiceProvider class. Ensured passwords should be at least 8 characters long, contain a mix of uppercase, lowercase, and special characters. These rules apply only for the production environment. 2023-07-02 15:21:01 +06:00
719d4c7f10
Added and configured css, js in Vite. 2023-06-29 22:20:38 +06:00
fbb56d8191
Added packages:
"dependencies": {
        "@popperjs/core": "^2.9.2",
        "bootstrap": "5.0.2",
        "chartist": "^0.11.4",
        "chartist-plugin-tooltips": "^0.0.17",
        "notyf": "^3.10.0",
        "nouislider": "^15.2.0",
        "onscreen": "^1.4.0",
        "sass": "^1.47.0",
        "simplebar": "^5.3.4",
        "smooth-scroll": "^16.1.3",
        "sweetalert2": "^11.0.18",
        "vanillajs-datepicker": "^1.2.0",
        "waypoints": "^4.0.1"
    },
    "devDependencies": {
        "sass-loader": "^13.3.2",
    }
2023-06-29 22:17:55 +06:00
37e5c6f8a6
Changed nodejs to 20. 2023-06-29 22:14:58 +06:00
aed3e0c803
Added language "Ru". 2023-06-29 22:14:16 +06:00
fe967d71a7
Added language "Ru". 2023-06-29 22:13:48 +06:00
2ebc9e3218
Added language "En". 2023-06-29 22:13:01 +06:00
6b8554d6d8
Updated composer.lock dependencies settings. Added laravel-lang/common. 2023-06-29 22:11:53 +06:00
b9f88ba2eb
Change default locale settings to Russian. 2023-06-29 00:06:52 +06:00
9b56522f02
A new 'locale' field of string type with a maximum length of 2 characters and a default value as 'ru' has been added to the users table through a migration file. This field has been also added to the User model. The addition of the 'locale' field will allow users to specify their preferred language in their profile settings. 2023-06-29 00:06:27 +06:00
90cab02d62
Enforce strict types and final class in User model. 2023-06-28 23:46:16 +06:00
34319e5724
Additional fields 'is_active' and 'timezone' have been added to the users table in the database migrations and the User model. This update allows us to better manage user's activation status and time zone preferences. 'is_active' field, a boolean field, signifies the active status of a user and has been set to default to false. 'timezone', an optional string, will store user's preferred timezone. 2023-06-28 23:44:06 +06:00