taylor      2005/01/13 17:55:47

  Modified:    applications/security/src/webapp/WEB-INF/security/sso
                        sites-view.vm
               
applications/security/src/java/org/apache/jetspeed/portlets/security/sso
                        SSOBrowser.java
  Added:       applications/security/src/webapp/scripts
                        jetspeed-security.js
  Log:
  implemented site deletion and confirmation modal dialog
  
  Revision  Changes    Path
  1.4       +8 -3      
jakarta-jetspeed-2/applications/security/src/webapp/WEB-INF/security/sso/sites-view.vm
  
  Index: sites-view.vm
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/applications/security/src/webapp/WEB-INF/security/sso/sites-view.vm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- sites-view.vm     13 Jan 2005 23:30:08 -0000      1.3
  +++ sites-view.vm     14 Jan 2005 01:55:47 -0000      1.4
  @@ -21,6 +21,8 @@
   
   *#
   
  +<script language='JavaScript' 
src='/security/scripts/jetspeed-security.js'></script>
  +
   #set ($MESSAGES = $portletConfig.getResourceBundle($renderRequest.Locale))
   
   <table cellpadding=0 cellspacing=1 border=0 width='100%' >
  @@ -57,7 +59,9 @@
           <div align="center"><a href='$action'>$ssoName</a></div>
         </td>
          <td class="$rowstyle" nowrap width='24' align='center'>
  -         <img src="/security/images/waste_bin.gif" width="20" height="15" 
border="0"/>
  +         <a href="javascript:YesNoPopup('Confirm to Delete Site:','Confirm 
Delete','ssoForm','ssoDelete','$ssoUrl','YesNoReturnMethod()');">
  +           <img src="/security/images/waste_bin.gif" width="20" height="15" 
border="0"/>            
  +         </a>
          </td>      
       <td class="">&nbsp;</td>               
      </tr>
  @@ -71,7 +75,7 @@
     </tr>
   </table>
   <br/>
  -<form action="$renderResponse.createActionURL()" method="post">
  +<form name='ssoForm' action="$renderResponse.createActionURL()" 
method="post">
   <table>
     <tr colspan="2" align="right">
       <td nowrap class="portlet-section-alternate" align="right">Site 
Name:&nbsp;</td>
  @@ -87,6 +91,7 @@
     </tr>
   </table>
   <br/>
  +<input name='ssoDelete' type='hidden' value=''/>
   <input name='sso.save' type="submit" value="$MESSAGES.getString('save')" 
class="portlet-form-button"/>
   <input name='sso.refresh' class="portlet-form-button" type="submit" 
value="$MESSAGES.getString('refresh')" />
   <input name='sso.new' class="portlet-form-button" type="submit" 
value="$MESSAGES.getString('new')" />
  
  
  
  1.1                  
jakarta-jetspeed-2/applications/security/src/webapp/scripts/jetspeed-security.js
  
  Index: jetspeed-security.js
  ===================================================================
   
  var ModalDialogWindow;
  var ModalDialogInterval;
  var ModalDialog = new Object;
  
  ModalDialog.value = '';
  ModalDialog.eventhandler = '';
  var ynFormName = '';
  var ynInputName = '';
  var ynTarget = '';
   
  function ModalDialogMaintainFocus()
  {
    try
    {
      if (ModalDialogWindow.closed)
       {
          window.clearInterval(ModalDialogInterval);
          eval(ModalDialog.eventhandler);       
          return;
       }
      ModalDialogWindow.focus(); 
    }
    catch (everything) {   }
  }
          
   function ModalDialogRemoveWatch()
   {
      ModalDialog.value = '';
      ModalDialog.eventhandler = '';
   }
          
   function ModalDialogShow(Target,BodyText,Title,Buttons,EventHandler)
   {
        
     ModalDialogRemoveWatch();
     ModalDialog.eventhandler = EventHandler;
  
     var args='width=350,height=125,left=325,top=300,toolbar=0,';
         args+='location=0,status=0,menubar=0,scrollbars=1,resizable=0';  
  
     ModalDialogWindow=window.open("","",args); 
     ModalDialogWindow.document.open(); 
     ModalDialogWindow.document.write('<html>');
     ModalDialogWindow.document.write('<head>'); 
     ModalDialogWindow.document.write('<title>' + Title + '</title>');
     ModalDialogWindow.document.write('<script' + ' language=JavaScript>');
     ModalDialogWindow.document.write('function CloseForm(Response) ');
     ModalDialogWindow.document.write('{ ');
     ModalDialogWindow.document.write(' window.opener.ModalDialog.value = 
Response; ');
     ModalDialogWindow.document.write(' window.close(); ');
     ModalDialogWindow.document.write('} ');
     ModalDialogWindow.document.write('</script' + '>');        
     ModalDialogWindow.document.write('</head>');   
     ModalDialogWindow.document.write('<body onblur="window.focus();">');
     ModalDialogWindow.document.write('<table border=0 width="95%" align=center 
cellspacing=0 cellpadding=2>');
     ModalDialogWindow.document.write('<tr><td align=left><h2>' + BodyText + 
'</h2></td></tr>');
     ModalDialogWindow.document.write('<tr><td align=left><h3>' + Target + 
'</h3></td></tr>');
     ModalDialogWindow.document.write('<tr><td align=left><br></td></tr>');
     ModalDialogWindow.document.write('<tr><td align=center>' + Buttons + 
'</td></tr>');
     ModalDialogWindow.document.write('</body>');
     ModalDialogWindow.document.write('</html>'); 
     ModalDialogWindow.document.close(); 
     ModalDialogWindow.focus(); 
     ModalDialogInterval = window.setInterval("ModalDialogMaintainFocus()",5);
  
   }
  
  
    function 
YesNoPopup(message,title,formName,inputName,targetValue,EventHandler)
    {
       var Buttons=''; 
       ynFormName = formName;
       ynInputName = inputName;
       ynTarget = targetValue;
       Buttons = '<a href=javascript:CloseForm("Yes");>Yes</a>  ';
       Buttons += '<a href=javascript:CloseForm("No");>No</a>  ';
       ModalDialogShow(targetValue,message,title,Buttons,EventHandler);
    }
   
   function YesNoReturnMethod()
   {
      if (ModalDialog.value == 'Yes')
      {
        for (ix = 0; ix < document.forms.length; ix++)
        {
            var tform = document.forms[ix];
            if (tform.name == ynFormName)
            {
                for (iy = 0; iy < tform.elements.length; iy++)
                {
                    var el = tform.elements[iy];
                    if (el.name == ynInputName)
                    {
                        el.value = ynTarget;
                        tform.submit();
                    }
                } 
            }
        }
      }   
      ModalDialogRemoveWatch();
   }
  
  
  
  
  1.6       +26 -1     
jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/sso/SSOBrowser.java
  
  Index: SSOBrowser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/sso/SSOBrowser.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SSOBrowser.java   13 Jan 2005 23:44:06 -0000      1.5
  +++ SSOBrowser.java   14 Jan 2005 01:55:47 -0000      1.6
  @@ -139,6 +139,8 @@
               String refresh = request.getParameter("sso.refresh");
               String save = request.getParameter("sso.save");
               String neue = request.getParameter("sso.new");
  +            String delete = request.getParameter("ssoDelete");
  +            
               if (refresh != null)
               {
                   this.clearBrowserIterator(request);
  @@ -147,6 +149,29 @@
               {
                   PortletMessaging.cancel(request, "site", "selected");
                   PortletMessaging.cancel(request, "site", "selectedUrl");     
                           
  +            }
  +            else if (delete != null)
  +            {
  +                if (!(isEmpty(delete)))
  +                {
  +                    try
  +                    {
  +                        SSOSite site = null;
  +                        site = sso.getSite(delete);
  +                        if (site != null)
  +                        {
  +                            sso.removeSite(site);
  +                            this.clearBrowserIterator(request);
  +                            PortletMessaging.cancel(request, "site", 
"selected");
  +                            PortletMessaging.cancel(request, "site", 
"selectedUrl");                                
  +                        }
  +                    }
  +                    catch (SSOException e)
  +                    {
  +                        // TODO: exception handling
  +                        System.err.println("Exception storing site: " + e);
  +                    }
  +                }                
               }
               else if (save != null)
               {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to