BC, Canada
Account created on 29 September 2009, over 15 years ago
#

Merge Requests

More

Recent comments

🇨🇦Canada chrisck BC, Canada

Attended! Merry Christmas and Happy Holidays everyone.

🇨🇦Canada chrisck BC, Canada

Following @greggles suggestion, although I'm not a maintainer, I would be happy to write this up in a new issue and start the process including reaching out via contact form and slack - unless there are any objections?

🇨🇦Canada chrisck BC, Canada

Menu hover active link

After moving your mouse into the submenu, the parent active link loses its bottom border and thus it's very easy to lose which parent link you're browsing on. As the submenu is megamenu style, it's hard to judge based on the horizontal positioning which parent link you're browsing.

From the screenshot below, one would not be able to decipher that we are on "Solutions" without the red annotated bottom border.

🇨🇦Canada chrisck BC, Canada

I would like to discuss the current and future approaches to structure content and create layouts in Drupal. Here are a few videos that cover the various ways we used to build Drupal sites:

Layout Paragraphs in Drupal - Murray Woodman (19 mins)
Page building showdown: Paragraphs v Layout builder / DrupalCon Global 2020 (56 mins)

2010: Templates, Display Suite
2012: Panels and Panelizer
2014: Panelizer and Paragraphs
2016: Panels IPE
2017: Panels IPE, Bricks, Paragraphs
2018: Layout Builder and Blocks
2019: Layout Builder and Paragraphs
2021: Layout Builder, Layout Paragraphs, Paragraphs

Note, Gutenberg is not included in the list above. However, the Gutenberg block editor is popular in WordPress. Are there still some use cases for Gutenberg? With so many ways to build a site, and often "locked in" with a given approach, which approach is best and what does the future of Drupal lean towards?

🇨🇦Canada chrisck BC, Canada

This is all looking very good. Sorry, there is one last nit. The "Edit" text font-weight should be 525 or font-weight: var(--gin-font-weight-semibold);

🇨🇦Canada chrisck BC, Canada

Just reporting back that the MR !14 is working great for me, but I have nowhere near the number of entities as @vlad.dancer.

🇨🇦Canada chrisck BC, Canada

I haven't tested the patch, but looking at the screenshot the CSS doesn't look right. The coloured border is supposed to remain and the grey button background should be removed.

🇨🇦Canada chrisck BC, Canada

MR!41 does not apply to the 3.x-dev branch. Needs a re-roll.

🇨🇦Canada chrisck BC, Canada

Attended for the first time. Thanks Damien!

🇨🇦Canada chrisck BC, Canada

Thank you for the clarity @vishal.kadam. We'll wait for @dataweb's response.

🇨🇦Canada chrisck BC, Canada

Hello @vishal.kadam. I'm a co-maintainer for the ief_popup module. I've since released a new semver 2.2.x dev branch that addresses the points in your project review. Could you please review the ief_popup project again and let me know how we may proceed with the security advisory application? I've been in touch with @dataweb and he has accepted my help in co-maintaining the module and making the changes.

🇨🇦Canada chrisck BC, Canada

As recommended by an active issue ( https://www.drupal.org/project/inline_entity_form/issues/3407711 📌 Other projects should require drupal/inline_entity_form ^1 || ^3 Active ) we will only require ^1 and ^3 release branches.

  "require": {
    "drupal/inline_entity_form": "^1 || ^3"
  }
🇨🇦Canada chrisck BC, Canada

Committed. Thank you @sime for your contributions.

🇨🇦Canada chrisck BC, Canada

Patches here need rerolling to the newest 2.2.x-dev release.

🇨🇦Canada chrisck BC, Canada

chrisck changed the visibility of the branch ief_popup-3422063/2.x to hidden.

🇨🇦Canada chrisck BC, Canada

@joseft40 I am not familiar with the layout_paragraphs module. Can you please provide clear steps to reproduce the issue? Including the creation of the Layout Paragraph if needed.

🇨🇦Canada chrisck BC, Canada

Committed. Thank you @alemadlei.

🇨🇦Canada chrisck BC, Canada

@dataweb Yes, I'd be happy to help as co-maintainer and follow up with security advisory coverage.

🇨🇦Canada chrisck BC, Canada

@dataweb I see the application for security advisory coverage closed 11 days ago due to lack of activity. As @gomez_in_the_south mentioned, there were only two minor changes requested to complete the application. I can offer to help maintain the module and continue with the application if you wish.

🇨🇦Canada chrisck BC, Canada

+1 to the approach that @ahsannazir used, I also prefer modifying the values on the original class, rather than applying them to the span tag. I've reviewed and tested MR !401.

🇨🇦Canada chrisck BC, Canada

@saschaeggi Sorry I need to adjust the steps to reproduce. In the Content Lock settings page (/admin/config/content/content_lock) if Lock form using JS is enabled, then the Unlock button shows up outside of the More menu and is the last item after the sidebar icon. I've tested this with a new Drupal 10 install.

🇨🇦Canada chrisck BC, Canada

Patch cannot apply to latest dev. Needs re-roll. Removing we_megamenu tag as per tag guidelines .

🇨🇦Canada chrisck BC, Canada

@maxilein Your suggestion may not work for everyone. In our case we are needing flexibility around AND/OR logic around the contextual filter from fields of the current entity.

🇨🇦Canada chrisck BC, Canada

It seems that a patch for this is not necessary. There is a hook_file_download that we can use:

This hook allows modules to enforce permissions on file downloads whenever Drupal is handling file download, as opposed to the web server bypassing Drupal and returning the file from a public directory. Modules can also provide headers to specify information like the file's name or MIME type.

/**
 * Implements hook_file_download().
 */
function hook_file_download($uri) {
  $filename = \Drupal::service('file_system')->basename($uri);
  $disposition = 'attachment; filename="' . $filename . '"';
  return [
    'Content-disposition' => $disposition,
  ];
}

Replace the hook in your function with your custom module name.

🇨🇦Canada chrisck BC, Canada

Sorry for the multiple MRs, I'm trying to get a handle on GitLab and the failing pipeline test. I'm unable to delete the branches that I made.

🇨🇦Canada chrisck BC, Canada

chrisck changed the visibility of the branch 3389509-drag-handle-multiple-file-widget to hidden.

🇨🇦Canada chrisck BC, Canada

chrisck changed the visibility of the branch 3389509-for-multiple-image to hidden.

🇨🇦Canada chrisck BC, Canada

chrisck changed the visibility of the branch gin-3389509 to hidden.

🇨🇦Canada chrisck BC, Canada

chrisck changed the visibility of the branch 8.x-3.x to hidden.

🇨🇦Canada chrisck BC, Canada

The MR needs a rebase or a re-roll. Patch could not apply.

🇨🇦Canada chrisck BC, Canada

The Select All or None buttons have been extremely useful in our project and we've been using it for some time now with no issues. Is it possible to consider making it part of the chosen module?

🇨🇦Canada chrisck BC, Canada

I managed to get around this error by doing two things, though I’m not sure which has fixed the issue for me.

  • Upgraded mglaman/drupal-check to ^1.4
  • Upgraded weitzman/drupal-test-traits to ^2.1

In “require-dev” of composer.json

🇨🇦Canada chrisck BC, Canada

We first installed Smart Date 3.5.0, and then four weeks ago upgraded to 4.1.0-beta1. We've been keeping up with regular updates.

🇨🇦Canada chrisck BC, Canada

@TolstoyDoyCom Thanks for your MR in the other issue. I'm confirming the MR fixes my issue, as reported here.

This looks to be a general problem in core and perhaps not specific to views_conditional.

🇨🇦Canada chrisck BC, Canada

Just reporting that we're seeing the same error in the Status page. Not 100% sure when exactly this happened, but could be due to an update.

Mismatched entity and/or field definitions
The following changes were detected in the entity type and field definitions.

Content
The node.field_event_datetime field needs to be updated.

🇨🇦Canada chrisck BC, Canada

Just reporting here that contextual_range_filter does work with Smart Date range field type. Make sure your contextual filters are enabled at /admin/config/content/contextual-range-filter

Configure your smart date range field contextual filter as follows:
When the filter value is NOT available

  • Provide default value
  • Type: PHP code
if (isset($entity['node'])) {
  // Get the date range
  $start_date = $entity['node']->field_smartdate_range->value;
  $end_date = $entity['node']->field_smartdate_range->end_value;
  $range = $start_date . '--' . $end_date;
  return $range;
}

For lower limit range only:

if (isset($entity['node'])) {
  // Get the date range
  $start_date = $entity['node']->field_smartdate->value;
  $range = $start_date . '--';
  return $range;
}

Hope this helps someone.

🇨🇦Canada chrisck BC, Canada

@asherry Thanks for spotting this. Sorry I missed this in the original MR. As this issue is closed (fixed) I created a new follow up issue with a new MR and tagged you there.

🇨🇦Canada chrisck BC, Canada

There seems to be a mix up of the date functions used getHours(), getMinutes(), getSeconds() with local and UTC time.

The if() statement is not getting triggered because end constant is not 00:00:00 in local time. It is 00:00:00 in UTC time. I'm uploading a patch that takes this into account, which I've tested to be working in my setup.

🇨🇦Canada chrisck BC, Canada

I've just tested this issue with FCV and Drupal core's date range field type and the issue still exists.

Steps to reproduce issue:

  1. Create Event content type with date range field type, with field settings Date Only.
  2. Create FullCalendar view with date range field. In the Format: Full Calendar Display, settings select Start Date field and End Date field to be the same date range field (be sure when adding the field, select the first option and not the one that says [fieldname] - Duration, [fieldname] - End etc.)
  3. Create Event with a date only date range.
  4. On the FullCalendar view, drag and drop the event. Refresh the page. The event is saved as one day longer than intended.
🇨🇦Canada chrisck BC, Canada

Hi @Mingsong there is a bug with the event dragging as previously reported by @mandclu. The bug is in the eventDrop callback function in fullcalendar_view/js/fullcalendar_view.js on line 221:

 // Event drop call back function.
  function eventDrop(info) {
    const end = info.event.end;
    const start = info.event.start;
    let strEnd = '';
    let strStart = '';
    let viewIndex = parseInt(this.el.getAttribute("calendar-view-index"));
    let viewSettings = drupalSettings.fullCalendarView[viewIndex];
    const formatSettings = {
        month: '2-digit',
        year: 'numeric',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
        second: '2-digit',
        timeZone: 'UTC',
        locale: 'sv-SE'
      };
    // define the end date string in 'YYYY-MM-DD' format.
    if (end) {
      // The end date of an all-day event is exclusive.
      // For example, the end of 2018-09-03
      // will appear to 2018-09-02 in the calendar.
      // So we need one day subtract
      // to ensure the day stored in Drupal
      // is the same as when it appears in
      // the calendar.
      if (end.getHours() == 0 && end.getMinutes() == 0 && end.getSeconds() == 0) {
        end.setDate(end.getDate() - 1);
      }
      // String of the end date.
      strEnd = FullCalendar.formatDate(end, formatSettings);
    }

I've read through your comments and I understand why we need to subtract one day from the end date, however the following if() statement isn't triggering. So I printed the end date value to an alert and found the issue:

    // define the end date string in 'YYYY-MM-DD' format.
    if (end) {
      // The end date of an all-day event is exclusive.
      // For example, the end of 2018-09-03
      // will appear to 2018-09-02 in the calendar.
      // So we need one day subtract
      // to ensure the day stored in Drupal
      // is the same as when it appears in
      // the calendar.
      alert(end);
      if (end.getHours() == 0 && end.getMinutes() == 0 && end.getSeconds() == 0) {
        end.setDate(end.getDate() - 1);
      }

The end date alert is showing as:

17:00:00 GMT-0700 (Pacific Daylight Time)

This is why the if() statement isn't getting triggered, because the hours don't match up. So I updated the if() statement and the end date is now getting subtracted by one day as originally intended.

if (end.getHours() == 17 && end.getMinutes() == 0 && end.getSeconds() == 0) {

I'm not sure if this is the ideal solution, but definitely highlights some work needed here. I'm not sure where the 17:00:00 GMT is coming from, is this just a default value if the date value is null?

Lastly, the same issue is present in the eventResize() callback on line 84.

Production build 0.71.5 2024