LycheeOrg / Lychee

A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
https://lycheeorg.github.io/
MIT License
3.35k stars 299 forks source link

Cannot share an album with another user (MassAssignmentException) #1833

Closed kouinkouin closed 1 year ago

kouinkouin commented 1 year ago

Detailed description of the problem [REQUIRED]

When I try to share an album, I get an generic internal error.

If I activate the debug mode, I get the error:

"Add fillable property [user_id, base_album_id] to allow mass assignment on [App\Models\AccessPermission]."

Steps to reproduce the issue

Steps to reproduce the behavior:

  1. Go to an album
  2. Click on the icon, on the top, to share the album with users (id=button_sharing_album_users)
  3. Select a user
  4. Submit
  5. You get an error

Output of the diagnostics [REQUIRED]

(Settings => Diagnostics or https://example.com/Diagnostics or php artisan lychee:diagnostics)

``` Diagnostics ----------- Warning: /var/www/html/Lychee/public/uploads/ is owned by group lychee, but should be owned by one out of root Warning: /var/www/html/Lychee/public/uploads/thumb2x is owned by group lychee, but should be owned by one out of root Warning: /var/www/html/Lychee/public/uploads/thumb2x/9b is owned by group lychee, but should be owned by one out of root Warning: /var/www/html/Lychee/public/uploads/thumb2x/9b/7e is owned by group lychee, but should be owned by one out of root Warning: /var/www/html/Lychee/public/uploads/thumb2x/9b/80 is owned by group lychee, but should be owned by one out of root Warning: 6560 more directories with wrong owner Warning: Dropbox import not working. dropbox_key is empty. Warning: You may experience problems when uploading a photo of large size. Take a look in the FAQ for details. Warning: You may experience problems when uploading a photo of large size. Take a look in the FAQ for details. Warning: zend.assertions is disabled although Lychee is in debug mode. For easier debugging code generation for assertions should be enabled. Warning: git (software) is not available. Foreign key: access_permissions.user_id → users.id : CASCADE Foreign key: albums.parent_id → albums.id : RESTRICT Foreign key: albums.id → base_albums.id : RESTRICT Foreign key: albums.cover_id → photos.id : CASCADE Foreign key: base_albums.owner_id → users.id : RESTRICT Foreign key: jobs_history.owner_id → users.id : RESTRICT Foreign key: photos.album_id → albums.id : RESTRICT Foreign key: photos.owner_id → users.id : RESTRICT Foreign key: size_variants.photo_id → photos.id : RESTRICT Foreign key: sym_links.size_variant_id → size_variants.id : RESTRICT Foreign key: tag_albums.id → base_albums.id : RESTRICT System Information ------------------ Lychee Version (git): ?? (273dd8b) -- Could not compare. DB Version: 4.8.0 composer install: --no-dev APP_ENV: production APP_DEBUG: true System: Linux PHP Version: 8.2.5 PHP User agent: Lychee/4 (https://lycheeorg.github.io/) Timezone: Europe/Brussels Max uploaded file size: 2M Max post size: 8M Max execution time: 0 MySQL Version: 10.10.3-MariaDB-1:10.10.3+maria~ubu2204 exec() Available: yes Imagick Available: 1 Imagick Enabled: 1 Imagick Version: 1691 GD Version: 2.3.3 Number of foreign key: 11 found. Config Information ------------------ version: 040800 check_for_updates: 0 sorting_photos_col: taken_at sorting_photos_order: ASC sorting_albums_col: title sorting_albums_order: DESC imagick: 1 skip_duplicates: 0 small_max_width: 0 small_max_height: 360 medium_max_width: 1920 medium_max_height: 1080 lang: fr layout: 1 image_overlay_type: desc default_license: none compression_quality: 90 grants_full_photo_access: 1 delete_imported: 0 mod_frame_enabled: 1 mod_frame_refresh: 30 thumb_2x: 1 small_2x: 1 medium_2x: 1 landing_page_enable: 0 site_owner: John Smith landing_title: John Smith landing_subtitle: Cats, Dogs & Humans Photography sm_facebook_url: https://www.facebook.com/JohnSmith sm_flickr_url: https://www.flickr.com/JohnSmith sm_twitter_url: https://www.twitter.com/JohnSmith sm_instagram_url: https://instagram.com/JohnSmith sm_youtube_url: https://www.youtube.com/JohnSmith landing_background: dist/cat.webp site_title: Lychee v4 footer_show_copyright: 0 site_copyright_begin: 2019 site_copyright_end: 2019 footer_additional_text: footer_show_social_media: 0 public_search: 0 SL_enable: 0 SL_for_admin: 0 recent_age: 1 grants_download: 0 photos_wraparound: 1 map_display: 1 zip64: 1 map_display_public: 0 map_provider: Wikimedia force_32bit_ids: 0 map_include_subalbums: 0 update_check_every_days: 2 has_exiftool: 1 share_button_visible: 0 import_via_symlink: 0 has_ffmpeg: 1 location_decoding: 0 location_decoding_timeout: 30 location_show: 1 location_show_public: 0 rss_enable: 0 rss_recent_days: 7 rss_max_items: 100 prefer_available_xmp_metadata: 0 editor_enabled: 1 lossless_optimization: 0 swipe_tolerance_x: 150 swipe_tolerance_y: 250 local_takestamp_video_formats: .avi|.mov log_max_num_line: 1000 unlock_password_photos_with_url_param: 0 nsfw_visible: 1 nsfw_blur: 0 nsfw_warning: 0 nsfw_warning_admin: 0 nsfw_banner_override: map_display_direction: 1 album_subtitle_type: oldstyle upload_processing_limit: 4 public_photos_hidden: 1 new_photos_notification: 0 legacy_id_redirection: 1 zip_deflate_level: 6 SA_enabled: 1 default_album_protection: 1 album_decoration: layers album_decoration_orientation: row allow_username_change: 1 auto_fix_orientation: 1 use_job_queues: 0 random_album_id: starred ```

Browser and system

Browser: Firefox 112 Lychee 4.8.0, on Docker (from hub.docker.com)

ildyria commented 1 year ago

@kouinkouin could you check branch https://github.com/LycheeOrg/Lychee/tree/fix-1833 fixes your bug ? :)

kouinkouin commented 1 year ago

Thanks for the fix @ildyria , that works :-) !