← Back to team overview

mahara-contributors team mailing list archive

[Bug 921994] Re: LEAP2 import does not check if the new user email is already used in Mahara

 

Hi Patrick,

Unfortunately uniqueness of email addresses is not enforced at the db
level yet.  We may look at fixing that in future, but first I think we'd
need to do a bit of work around how to upgrade old databases.  In the
meantime you should just avoid relying on uniqueness in your custom
code.

If you find any core code relying on uniqueness of emails (you mentioned
search friends, and see groups members), let us know in another bug
report, and we'll fix it for 1.5.

See also https://bugs.launchpad.net/mahara/+bug/903494,
https://bugs.launchpad.net/mahara/+bug/907903

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
https://bugs.launchpad.net/bugs/921994

Title:
  LEAP2 import does not check if the new user email is already used in
  Mahara

Status in Mahara ePortfolio:
  Triaged

Bug description:
  When importing a LEAP2 zip  into a 1.5 Mahara site (latest   1.5.0dev
  from git) and if the new user email is already known, importation
  proceeds  normally  but the mahara site then starts to fail in various
  places (search friends, see groups members) ...

  Errors reported in httpd error_log are :

   [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108] [WAR] a9 (lib/errors.php:749) get_record_sql found more than one row. If you meant to retrieve more than one record, use get_records_*, otherwise check your code or database for inconsistencies, referer: http://xxxxxxxxxxxxx/m
  ahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108] Call stack (most recent first):, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * log_message("get_record_sql found more than one row. If you mea...", 8, true, true)
   at /var/www/html/mahara.git/htdocs/lib/errors.php:109, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * log_warn("get_record_sql found more than one row. If you mea...") at /var/www/html/
  mahara.git/htdocs/lib/errors.php:749, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * SQLException->__construct("get_record_sql found more than one row. If you mea...")
  at /var/www/html/mahara.git/htdocs/lib/dml.php:339, referer: http:///mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * get_record_sql("SELECT * FROM "usr"  WHERE "email" = ? ", array(size 1)) at /var/www/html/mahara.git/htdocs/lib/dml.php:302, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * get_record("usr", "email", "pp@xxxxxxxxxxxxxxxxx") at /var/www/html/mahara.git/htdo
  cs/local/insa/remote_avatar.php:17, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * local_remote_avatar("pp@xxxxxxxxxxxxxxxxx", array(size 2), "http://xxxxxxxxxxxx/mahara/theme/raw/stat...";) at /var/www/html/mahara.git/htdocs/lib/user.php:2246, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * remote_avatar("pp@xxxxxxxxxxxxxxxxx", array(size 2), "http://xxxxxxxxxxxx/
  mahara/theme/raw/stat...") at /var/www/html/mahara.git/htdocs/lib/user.php:2227, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * profile_icon_url(object(stdClass), 40, 40) at /var/www/html/mahara.git/htdocs/lib/d
  woo/mahara/plugins/function.profile_icon_url.php:13, referer: http://xxxxxxxxxxxx/mahara/
  [Thu Jan 26 10:22:19 2012] [error] [client 134.214.152.108]   * Dwoo_Plugin_profile_icon_url(object(Dwoo_Mahara), object(stdClass), 40, 40) at /wor
  k/maharadata/dwoo/compile/insalyon/var/www/html/mahara.git/htdocs/theme/raw/templates/user/user.tpl.d17.php:92, referer: http://xxxxxxxxxxxx/mahara/

  It is also impossible to delete that user under site administration
  since getting that user data fails with the above error...

  To return site to 'normal operation' one has to go to table usr and
  manually edit the new user email to an unique value

  Cheers.

  Edit : I did not tested it yet, but I do hope that this behaviour does
  not occur also in importing users from a CSV file ;-)

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


References