mango r189 - in trunk: . lib www



Author: ovitters
Date: Tue Jun  3 19:55:46 2008
New Revision: 189
URL: http://svn.gnome.org/viewvc/mango?rev=189&view=rev

Log:
	* lib/module.php: Only provide current maintainers to the xml. Showing
	all users is not useful. Further, validate the given userids (should
	be done in a better way, but good enough for now).
	* www/update_module.xsl: Show checkboxes for the existing users and an
	input box to enter a new maintainer userid. Would be nice to be able
	to search for someones userid, but this is good enough.



Modified:
   trunk/ChangeLog
   trunk/lib/module.php
   trunk/www/update_module.xsl

Modified: trunk/lib/module.php
==============================================================================
--- trunk/lib/module.php	(original)
+++ trunk/lib/module.php	Tue Jun  3 19:55:46 2008
@@ -113,7 +113,11 @@
         $entry['cn'][] = $this->cn;
         $entry['sn'][] = $this->cn;
         foreach ($this->maintainerUids as $maintainerUid) { 
+            if (!empty($maintainerUid)
+                && !PEAR::isError(User::fetchuser($maintainerUid)))
+            {
                 $entry['maintainerUid'][] = $maintainerUid;
+            }
         }
         if(!empty($this->description))
             $entry['description'][] = $this->description;
@@ -191,9 +195,9 @@
             if ($this->localizationModule) {
                $modulechanges['objectClass'][] = 'localizationModule';
             } else {
-            $moduledelete['objectClass'] = 'localizationModule';
-            $moduledelete['localizationTeam'] = $oldmodule->localizationTeam;
-            $moduledelete['mailingList'] = $oldmodule->mailingList;
+                $moduledelete['objectClass'] = 'localizationModule';
+                $moduledelete['localizationTeam'] = $oldmodule->localizationTeam;
+                $moduledelete['mailingList'] = $oldmodule->mailingList;
             }
             $modulechanges['objectClass'][] = 'gnomeModule';
             $modulechanges['objectClass'][] = 'inetOrgPerson';
@@ -216,6 +220,15 @@
         }
     
         // Maintainers changed?
+        $validUids = array();
+        foreach ($this->maintainerUids as $maintainerUid) {
+            if (!empty($maintainerUid)
+                && !PEAR::isError(User::fetchuser($maintainerUid)))
+            {
+                $validUids[] = $maintainerUid;
+            }
+        }
+        $this->maintainerUids = $validUids;
         if ($oldmodule->maintainerUids != $this->maintainerUids) {
             $modulechanges['maintainerUid'] = $this->maintainerUids;
             $changes[] = 'maintainerUids';
@@ -245,17 +258,18 @@
         $node->appendChild($dom->createTextNode($this->cn));
         $node = $formnode->appendChild($dom->createElement("description"));
         $node->appendChild($dom->createTextNode($this->description));
-        $result = array ();
-        $entries = User::listusers($result);
-        for($i = 0; $i < $entries['count']; $i++) {
+        foreach ($this->maintainerUids as $uid) {
             $usernode = $formnode->appendChild($dom->createElement("maintainerUid"));
             $usernode->appendChild($node = $dom->createElement("key"));
-            $node->appendChild($dom->createTextNode($entries[$i]['uid'][0]));
+            $node->appendChild($dom->createTextNode($uid));
+
             $usernode->appendChild($node = $dom->createElement("value"));
-            $node->appendChild($dom->createTextNode($entries[$i]['cn'][0]));
-            if (in_array ($entries[$i]['uid'][0], $this->maintainerUids)) {
-                $node = $usernode->appendChild($dom->createElement("selected"));
-                $node->appendChild($dom->createTextNode("selected"));
+
+            $user = User::fetchuser($uid);
+            if (!PEAR::isError($user)) {
+                $node->appendChild($dom->createtextNode($user->cn));
+            } else {
+                $node->appendChild($dom->createtextNode($user->cn));
             }
         }
         if ($this->localizationModule) {

Modified: trunk/www/update_module.xsl
==============================================================================
--- trunk/www/update_module.xsl	(original)
+++ trunk/www/update_module.xsl	Tue Jun  3 19:55:46 2008
@@ -35,19 +35,15 @@
        Maintainer
       </th>
       <td>
-      	<select multiple="on" size="5" name="maintainerUids[]">
-      		<xsl:for-each select="maintainerUid">
-      			<xsl:element name="option">
-      			<xsl:if test="boolean(selected)">
-      				<xsl:attribute name="selected"/>
-      			</xsl:if>
-      			<xsl:attribute name="value">
-      				<xsl:value-of select="key" />
-      			</xsl:attribute>
-      			<xsl:value-of select="value" />
-      			</xsl:element>
-      		</xsl:for-each>
-      	</select>
+        <xsl:for-each select="maintainerUid">
+          <input type="checkbox" name="maintainerUids[]" id="{generate-id()}" 
+                 checked="checked" value="{key}"/>
+          <label for="{generate-id()}">
+            <xsl:value-of select="value" />
+          </label><br/>
+        </xsl:for-each>
+        New maintainer userid:
+        <input type="text" name="maintainerUids[]" />
       </td>
      </tr>
      <tr>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]