--- simple_menu_icons.module +++ simple_menu_icons.module @@ -57,11 +57,22 @@ $icon_field = $form_state->getValue('icon_upload'); $file_id = empty($icon_field) ? FALSE : reset($icon_field); + // Now we need the Menu Item entity that is being saved. + $menu_link = $form_state->getFormObject()->getEntity(); + $menu_link_id = $menu_link->id(); + if (!empty($file_id)) { // Make this a permanent file so that cron doesn't delete it later. $file = File::load($file_id); $file->status = FILE_STATUS_PERMANENT; $file->save(); + $file_usage = \Drupal::service('file.usage'); + // check if there is already existing any usage for the file + $file_usage_check = \Drupal::service('file.usage')->listUsage($file); + // create new only if there is no usage + if (empty($file_usage_check)) { + $file_usage->add($file, 'simple_menu_icons','menu_link_content', $menu_link_id); + } } // Now we need the Menu Item entity that is being saved. - $menu_link = $form_state->getFormObject()->getEntity();