← Back to team overview

mahara-contributors team mailing list archive

[Bug 1359109] Re: Fail deleting long name groups

 

Hi Daniel,

Thank you for your patch. Do you want to put it into our review system
at reviews.mahara.org yourself or want one of our developers to do that?

Instructions for getting started with Gerrit, the review system, are at
https://wiki.mahara.org/index.php/Developer_Area/Contributing_Code

Cheers
Kristina


** Changed in: mahara
       Status: New => In Progress

** Changed in: mahara
     Assignee: (unassigned) => Daniel Parejo (danielparejom)

** Changed in: mahara
   Importance: Undecided => Medium

** Tags removed: delete group
** Tags added: patch

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1359109

Title:
  Fail deleting long name groups

Status in Mahara ePortfolio:
  In Progress

Bug description:
  When you delete a group, it concatenates '.deleted.'.time() that is
  about 19 characters. Hence, if your group name is longer than 108
  characters it will throw a DB exception for exceeding the 128
  characters field for the group name. To avoid this, I've added the
  following code to function group_delete($groupid, $shortname=null,
  $institution=null, $notifymembers=true):

  //Daniel Parejo
      $delete_name = $group->name;
      if (strlen($delete_name) > 100) {
          $delete_name = substr($delete_name, 0, 100) . '(...)';
      }
  //End added code

      update_record('group',
          array(
              'deleted' => 1,
              'name' => $delete_name . '.deleted.' . time(), //modified code
              'shortname' => null,
              'institution' => null,
              'category' => null,
              'urlid' => null,
          ),
          array(
              'id' => $group->id,
          )
      );
      db_commit();

  This solution is not perfect since it will fail if two groups that are
  not different in their 101 first characters are tried to be removed in
  the same time instant. Still, way better than before, though I think a
  more solid solution should be implemented.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1359109/+subscriptions


References