? storm--332555-23b.patch
? storm--918758-1.patch
? storm--918758-3.patch
Index: stormperson/stormperson.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/storm/stormperson/stormperson.module,v
retrieving revision 1.7.4.31.2.1
diff -u -p -r1.7.4.31.2.1 stormperson.module
--- stormperson/stormperson.module	5 Jan 2011 00:10:37 -0000	1.7.4.31.2.1
+++ stormperson/stormperson.module	6 Jan 2011 00:15:54 -0000
@@ -20,18 +20,13 @@ function stormperson_help($path, $arg) {
 function stormperson_init() {
   if (function_exists('drupal_set_content')) {
     global $user;
-    if ($user->uid && !$user->stormorganization_nid || !$user->stormperson_nid) {
-      $r = db_query("SELECT nid, organization_nid FROM {stormperson} WHERE user_uid=%d", $user->uid);
-      if ($r) {
-        $a = db_fetch_object($r);
-        $user->stormperson_nid = $a->nid;
-        $user->stormorganization_nid = $a->organization_nid;
-      }
+    if ($user->uid && !isset($user->stormorganization_nid) || !isset($user->stormperson_nid)) {
+      _stormperson_user_load($user);    
     }
-    if (!$user->uid || !$user->stormperson_nid) {
+    if (!$user->uid || !isset($user->stormperson_nid)) {
       $user->stormperson_nid = -1;
     }
-    if (!$user->uid || !$user->stormorganization_nid) {
+    if (!$user->uid || !isset($user->stormorganization_nid)) {
       $user->stormorganization_nid = -1;
     }
   }
@@ -520,9 +515,8 @@ function stormperson_user($type, &$edit,
 }
 
 function _stormperson_user_load(&$account) {
-  $r = db_query("SELECT nid, organization_nid FROM {stormperson} WHERE user_uid=%d", $account->uid);
-  if ($r) {
-    $a = db_fetch_object($r);
+  $a = db_fetch_object(db_query("SELECT nid, organization_nid FROM {stormperson} WHERE user_uid=%d", $account->uid));
+  if ($a) {
     $account->stormperson_nid = $a->nid;
     $account->stormorganization_nid = $a->organization_nid;
   }
@@ -556,4 +550,4 @@ function stormperson_primary_email($node
   elseif ($node->email) {
     return $node->email;
   }
-}
\ No newline at end of file
+}
Index: stormperson/stormperson.test
===================================================================
RCS file: stormperson/stormperson.test
diff -N stormperson/stormperson.test
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ stormperson/stormperson.test	6 Jan 2011 00:15:54 -0000
@@ -0,0 +1,33 @@
+<?php
+class StormpersonTestCase extends DrupalWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Storm Person functionality',
+      'description' => 'Test the functionality of the Storm 
+Person module',
+      'group' => 'Storm',
+    );
+  }
+
+  public function setUp() {
+    parent::setUp('storm', 'stormattribute', 'stormorganization', 'stormperson');
+    $privileged_user = $this->drupalCreateUser(array('Storm organization: add', 'Storm organization: view all', 'Storm person: add'));
+    $this->drupalLogin($privileged_user);
+  }
+
+  public function testStormpersonCreate() {
+    $org = array(
+      'title' => $this->randomName(32),
+      'body' => $this->randomName(64),
+    );
+    $person = array(
+      'title' => $this->randomName(32),
+      'body' => $this->randomName(64),
+    );
+    
+    $this->drupalPost('node/add/stormorganization', $org, t('Save'));
+    $this->drupalPost('node/add/stormperson', $person, t('Save'));
+    $this->assertText(t('Person @title has been created.', array('@title' => $person['title'])));
+  }
+}
