Changeset 17788

Show
Ignore:
Timestamp:
07/28/08 10:41:59 (1 month ago)
Author:
avinash
Message:

blog :
- work capture UI for blog-it popup from assignments page
- some changes related PnWeblogEntry?

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/core/src/net/project/hibernate/dao/impl/PnWeblogEntryDAOImpl.java

    r17767 r17788  
    2525        public PnWeblogEntry getWeblogEntry(Integer weblogEntryId){ 
    2626                PnWeblogEntry entry = findByPimaryKey(weblogEntryId); 
     27                if(entry != null){ 
     28                        Hibernate.initialize(entry); 
     29                } 
    2730                return entry; 
    2831        } 
  • trunk/core/src/net/project/hibernate/model/PnWeblogEntry.hbm.xml

    r17269 r17788  
    88                name="net.project.hibernate.model.PnWeblogEntry" 
    99                table="PN_WEBLOG_ENTRY" 
    10                 lazy="false" 
     10                lazy="true" 
    1111        > 
    1212         
  • trunk/core/web/css/blog.css

    r17639 r17788  
    1818        position: absolute; 
    1919        overflow: hidden; 
    20         left: 200px; 
    21         top: 100px; 
     20        left: 100px; 
     21        top: 60px; 
    2222        margin: 0px; 
    2323        background-color: #FFFFFF; 
     
    6868        overflow-X: auto; 
    6969} 
     70.blogbar { 
     71        background-color:#33BDFF; 
     72        border-collapse:collapse; 
     73        height:2px; 
     74        padding:0pt; 
     75} 
     76.redlink{ 
     77         
     78} 
     79.bluelink{ 
     80         
     81} 
  • trunk/core/web/jsp/resource/PersonalAssignments.jsp

    r17293 r17788  
    6969<template:import type="css" src="/styles/global.css" /> 
    7070<template:import type="css" src="/styles/fonts.css" /> 
     71<!-- BlogIt Style --> 
     72<template:import type="css" src="/styles/blog.css" /> 
    7173<template:getSpaceCSS /> 
    7274 
     
    8082<template:import type="javascript" src="/src/util.js" /> 
    8183<template:import type="javascript" src="/src/window_functions.js" /> 
     84<script language="javascript"> 
     85var JSPRootURL = '<%= SessionManager.getJSPRootURL() %>';  
     86</script> 
     87<!-- BlogIt JS --> 
     88<template:import type="javascript" src="/src/blogit.js" /> 
    8289<template:getSpaceJS /> 
    8390 
     
    8592var theForm; 
    8693var isLoaded = false; 
    87 var JSPRootURL = '<%= SessionManager.getJSPRootURL() %>';   
     94 
     95// Internationalization message for blog popup 
     96var noSelectionErrMes = '<%=PropertyProvider.get("prm.global.javascript.verifyselection.noselection.error.message")%>'; 
     97 
     98var blogItFor = 'assignments'; 
     99var spaceId = <%= user.getCurrentSpace().getID()%>; 
     100var moduleId = <%= Module.PERSONAL_SPACE%>; 
    88101 
    89102function setup() { 
     
    277290                <tb:button type="refresh" /> 
    278291                <tb:button type="help" /> 
     292                <tb:button type="blogit" /> 
    279293        </tb:band> 
    280294</tb:toolbar> 
  • trunk/core/web/src/blogit.js

    r17767 r17788  
     1// Global Ajax events can be handled on every request! 
     2//Ext.Ajax.on('beforerequest', function(conn, options){ Ext.get(document.body).mask('Loading...');}, this); 
     3//Ext.Ajax.on('requestcomplete', function(conn, response, options){Ext.get(document.body).unmask()}, this); 
     4 
    15// String prototype function for triming white spaces 
    26String.prototype.trim = function(){ 
     
    1317blogPopupDialogue.style.display = 'block'; 
    1418blogPopupDialogue.style.height = 'auto'; 
    15 blogPopupDialogue.style.width = '615px'; 
     19blogPopupDialogue.style.width = '80%'; 
    1620var blogPopupBody = document.createElement('div'); 
    1721blogPopupBody.id = 'blogPopupBody'; 
    1822blogPopupBody.style.display = 'block'; 
    1923blogPopupBody.style.height = 'auto'; 
    20 blogPopupBody.style.width = '612px'; 
     24blogPopupBody.style.width = '87%'; 
    2125var blogActionDiv = document.createElement('div'); 
    2226blogActionDiv.style.left = '390px'; 
     
    3135blogActionDiv.innerHTML = '<h3>Saving...</h3>'; 
    3236 
     37var showtimediv=false; 
    3338var objectId; 
    3439var contentPanel; 
     
    4045var fromTime = null; 
    4146var toTime = null; 
    42  
     47var months = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); 
     48var days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'); 
     49function scrollBack() { 
     50
     51 
     52function scrollForward() {     
     53
     54 
     55function showtime(){ 
     56        if(showtimediv==false){ 
     57                document.getElementById("timesetdiv").style.display="block";             
     58                blogPopupDialogue.style.top = 30; 
     59                showtimediv=true; 
     60        }else{ 
     61                document.getElementById("timesetdiv").style.display="none"; 
     62                blogPopupDialogue.style.top = 60; 
     63                showtimediv=false; 
     64        } 
     65
     66function showdiv1(){ 
     67document.getElementById("div1").style.display="block"; 
     68document.getElementById("div11").style.display="block"; 
     69document.getElementById("div2").style.display="none"; 
     70document.getElementById("div22").style.display="none"; 
     71blogPopupDialogue.style.width = '80%'; 
     72
     73function showdiv2(){ 
     74document.getElementById("div2").style.display="block"; 
     75document.getElementById("div22").style.display="block"; 
     76document.getElementById("div1").style.display="none"; 
     77document.getElementById("div11").style.display="none"; 
     78blogPopupDialogue.style.width = '80%'; 
     79
    4380function getHourOptions() { 
    4481        var hrOptions = ''; 
     
    6198        if(typeof(blogItFor) != 'undefined' && blogItFor == 'assignments'){ 
    6299                if ((theForm.objectID) && (verifySelectionForField(theForm.objectID, "single", noSelectionErrMes))) { 
    63                         for (var i = 0; i < theForm.objectID.length; i++) { 
    64                                 if(theForm.objectID[i].checked == true) { 
    65                                         objectId = theForm.objectID[i].value;                                    
    66                                         break;                                   
     100                        if(theForm.objectID.length == null){ 
     101                                if(theForm.objectID.checked == true) { 
     102                                        objectId = theForm.objectID.value; 
    67103                                } 
     104                        } else { 
     105                                for (var i = 0; i < theForm.objectID.length; i++) { 
     106                                        if(theForm.objectID[i].checked == true) { 
     107                                                objectId = theForm.objectID[i].value;                                    
     108                                                break;                                   
     109                                        } 
     110                    } 
    68111            } 
    69112            var now = new Date(); 
    70113                        var today = now.getDate()+'/'+(now.getMonth()+1)+'/'+now.getFullYear(); 
    71                         timeSheetTable = '<fieldset> <legend> Time Sheet </legend>'; 
    72                         timeSheetTable += '&nbsp;&nbsp;Day : <input type="text" name="blogDate" size="8" id="blogDate" value="'+today+'" readonly="readonly" />'; 
    73                         timeSheetTable += '&nbsp; <img src="'+JSPRootURL+'/images/calendar/cal.gif" onclick="javascript:window.parent.displayCalendar(document.getElementById(\'blogDate\'),\'d/m/yyyy\',this);" />&nbsp;&nbsp;'; 
    74                         timeSheetTable += '&nbsp;&nbsp;&nbsp;&nbsp;From : &nbsp;<select id="fromHours" name="fromHours"> <option value="-1">Hrs</option>'+ getHourOptions() +'</select>'; 
     114                timeSheetTable += '<table width="100%"><tr><td>'; 
     115                timeSheetTable += '<table align="left" border="0" width="100%">'; 
     116            timeSheetTable += '<tr>'; 
     117            timeSheetTable += '         <td width="30%" class="blogEntryLabel">Date:</td>'; 
     118            timeSheetTable += '         <td width="70%" nowrap="nowrap" class="blogEntryLabel">'+days[now.getDay()]+', '+months[now.getMonth()]+' '+now.getDate()+', '+now.getFullYear()+'</td>'; 
     119            timeSheetTable += '</tr>'; 
     120            timeSheetTable += '<tr><td colspan="2" class="blogbar"></td></tr>'; 
     121            timeSheetTable += '<tr>'; 
     122            timeSheetTable += '         <td width="30%" class="blogEntryLabel">Topic:</td>'; 
     123            timeSheetTable += '         <td width="70%"><input type="text" size="40" maxlength="50" name="txttopic"/></td>'; 
     124            timeSheetTable += '</tr></table>'; 
     125                timeSheetTable += '</td></tr><tr><td>'; 
     126                        timeSheetTable += '<table width="100%"><tr><td width="100%">'; 
     127                        timeSheetTable += '<font class="blogEntryLabel">Time Worked </font>';                    
     128                timeSheetTable += '<table align="left" id="timecard" border="0" width="100%">'; 
     129            timeSheetTable += '<tr>'; 
     130            timeSheetTable += '<td width="50%"><div id="div1" style="display:none"><table width="50%"><tr class="tableHeader">'; 
     131            timeSheetTable += '<td width="15"><img src="'+JSPRootURL+'/images/icons/prev_page_sm.gif" border="0" onClick="scrollBack();"/></td>'; 
     132            timeSheetTable += '<td align="center">Sun<br>7/20/08</td>'; 
     133                        timeSheetTable += '<td align="center">Mon<br>7/21/08</td>'; 
     134                        timeSheetTable += '<td align="center">Tue<br>7/22/08</td>'; 
     135                        timeSheetTable += '<td align="center">Wed<br>7/23/08</td>'; 
     136                        timeSheetTable += '<td align="center">Thu<br>7/24/08</td>'; 
     137                        timeSheetTable += '<td align="center">Fri<br>7/25/08</td>'; 
     138                        timeSheetTable += '<td align="center">Sat<br>7/26/08</td>'; 
     139                        timeSheetTable += '<td width="15"><img src="'+JSPRootURL+'/images/icons/next_page_sm.gif" border="0" onClick="scrollForward();"/></td>'; 
     140                        timeSheetTable += '</tr>'; 
     141                        timeSheetTable += '<tr><td colspan="9" align="center"><a href="javascript:showdiv2();">day</a>&nbsp;week</td></tr>'; 
     142                        timeSheetTable += '</table></div>'; 
     143 
     144            timeSheetTable += '<div id="div2" style="display:block"><table width="50%"><tr class="tableHeader">'; 
     145            timeSheetTable += '<td width="15"><img src="'+JSPRootURL+'/images/icons/prev_page_sm.gif" border="0" onClick="scrollBack();"/></td>'; 
     146            timeSheetTable += '<td align="center">Today</td>'; 
     147            timeSheetTable += '<td width="15"><img src="'+JSPRootURL+'/images/icons/next_page_sm.gif" border="0" onClick="scrollForward();"/></td>'; 
     148                        timeSheetTable += '</tr>'; 
     149                        timeSheetTable += '<tr><td colspan="3" align="center">day&nbsp;<a href="javascript:showdiv1();">week</a></td></tr>'; 
     150                        timeSheetTable += '</table></div></td>'; 
     151                         
     152                        timeSheetTable += '<td align="center" valign="top" class="blogEntryLabel" nowrap="nowrap" >Total Days<br/>Reported<br/><a href="#" class="bluelink">history</a></td>'; 
     153                        timeSheetTable += '<td align="center" valign="top" class="blogEntryLabel" nowrap="nowrap" >Estimated <br/>Remaining</td>'; 
     154                        timeSheetTable += '<td align="center" valign="top" class="blogEntryLabel" nowrap="nowrap" >Total <br/>Est.Days</td>'; 
     155                        timeSheetTable += '<td align="center" valign="top" class="blogEntryLabel" nowrap="nowrap" >% <br/>complete<br/><a href="#" class="redlink">not accurate?</a></td>'; 
     156                        timeSheetTable += '<td></td>'; 
     157                         
     158                        timeSheetTable += '<tr><td colspan="7" class="blogbar"></td></tr>'; 
     159                         
     160                        timeSheetTable += '<tr class="tableContent">'; 
     161             
     162            timeSheetTable += '<td width="50%"><div id="div11" style="display:none"><table width="50%"><tr class="tableContent">'; 
     163            timeSheetTable += '<td width="15"></td>'; 
     164                        timeSheetTable += '<td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" /><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>'; 
     165            timeSheetTable += '<td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" /><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>';                 
     166            timeSheetTable += '<td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" /><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>'; 
     167            timeSheetTable += '<td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" /><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>'; 
     168            timeSheetTable += '<td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" /><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>';                 
     169            timeSheetTable += '<td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" /><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>';           
     170            timeSheetTable += '<td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" /><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>';                 
     171            timeSheetTable += '<td width="15"></td></tr>'; 
     172                        timeSheetTable += '</table></div>';      
     173                         
     174                        timeSheetTable += '<div id="div22" style="display:block"><table  width="50%"><tr class="tableContent">'; 
     175            timeSheetTable += '         <td width="15"></td>'; 
     176                        timeSheetTable += '             <td nowrap="nowrap"> 0 hrs <br><input type="text" size="1" maxlength="2" name="dateupdX40577X1216537200007"/><img src="'+JSPRootURL+'/images/sm_clock.gif" border="0" onclick="showtime();"/></td>'; 
     177            timeSheetTable += '         <td width="15"></td>'; 
     178                        timeSheetTable += '</tr></table><div></td>';                     
     179                        timeSheetTable += '<td align="center">47</td>'; 
     180                        timeSheetTable += '<td align="center">23</td>'; 
     181                        timeSheetTable += '<td align="center">70</td>'; 
     182                        timeSheetTable += '<td align="center">60.2%</td>'; 
     183                        timeSheetTable += '<td nowrap="nowrap">Done?&nbsp;<input type="checkbox" checked="checked" style="border-style: none;"/></td>'; 
     184                        timeSheetTable += '</tr>'; 
     185                        timeSheetTable += '<tr><td colspan="2"><div id="timesetdiv" style="display:none">'; 
     186                        timeSheetTable += '<fieldset> <legend> Time worked </legend>'; 
     187                        timeSheetTable += '&nbsp;&nbsp;From : &nbsp;<select id="fromHours" name="fromHours"> <option value="-1">Hrs</option>'+ getHourOptions() +'</select>'; 
    75188                        timeSheetTable += '&nbsp;&nbsp; <select id="fromMinutes" name="fromMinutes"> <option value="-1">Mins</option>'+ getMinuteOptions() +'</select>&nbsp;&nbsp;'; 
    76189                        timeSheetTable += 'To : &nbsp;<select id="toHours" name="toHours"> <option value="-1">Hrs</option>'+ getHourOptions() +'</select>'; 
    77190                        timeSheetTable += '&nbsp;&nbsp; <select id="toMinutes" name="toMinutes"> <option value="-1">Mins</option>'+ getMinuteOptions() +'</select>'; 
    78                         timeSheetTable += '<br/></fieldset>'; 
     191                        timeSheetTable += '</fieldset>'; 
     192                        timeSheetTable += '</div></td></tr>'; 
     193                         
     194                        timeSheetTable += '</table>'; 
     195                        timeSheetTable += '</td></tr><tr><td colspan="7" class="blogbar"></td></tr></table>'; 
     196                timeSheetTable += '</td></tr></table>';                  
    79197                        showPopup(); 
    80198                } 
     
    111229         
    112230        if(typeof(blogItFor) != 'undefined' && blogItFor == 'assignments'){ 
    113                 htmlText += ' <div id="timeSheet" style="position: relative; left: 30px; width: 530px;">'+timeSheetTable+'</div>'; 
    114         } 
    115          
    116         htmlText += ' <table align="left" cellpadding="5" cellspacing="5"> '; 
    117         htmlText += ' <tr> <td class="blogEntryLabel"> Subject : </td> <td> <input id="title" maxlength="240" name="title" size="40" type="text" value="">  </td> </tr>'; 
    118         htmlText += ' <tr> <td valign="top" class="blogEntryLabel"> Content : </td> <td> <div id="contentTextareaPosition"></div> </td> </tr>'; 
    119         htmlText += ' <tr> <td colspan="2" align="right"> <input type="button" value="     BlogIt    " onclick="saveEntry();" />';             
     231                htmlText += ' <div id="timeSheet" style="position: relative; left: 30px; width: 100%;">'+timeSheetTable+'</div>'; 
     232        } 
     233         
     234        htmlText += ' <table align="left" cellpadding="5" cellspacing="5" > '; 
     235        htmlText += ' <tr> <td class="blogEntryLabel" nowrap="nowrap" style="padding-left:30px"> Subject : </td> <td> <input id="title" maxlength="240" name="title" size="60" type="text" value="">  </td> </tr>'; 
     236        htmlText += ' <tr> <td valign="top" class="blogEntryLabel" nowrap="nowrap" style="padding-left:30px"> Content : </td> <td> <div id="contentTextareaPosition"></div> </td> </tr>'; 
     237        htmlText += ' <tr> <td colspan="2" align="right" style="padding-left:30px"> <input type="button" value="     BlogIt    " onclick="saveEntry();" />';           
    120238        htmlText += ' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'; 
    121239        htmlText += ' <input type="button" value="   Cancel   " onclick="hidePopup();" /> </td> </tr> </table>'; 
     
    138256        contentPanel = new Ext.FormPanel({ 
    139257                border: false, 
    140                 width: 550
     258                width: '100%'
    141259                items: [{ 
    142260                        xtype: 'htmleditor', 
    143261                        id: 'content', 
    144262                        fieldLabel: 'Content', 
    145                         width: 520
     263                        width: '650px'
    146264                        height: 200, 
    147265                        anchor: '95%', 
     
    152270         
    153271        // getting number of blog entries if exist for selected object 
    154         getBlogEntriesByObjectId(objectId); 
     272        getBlogEntriesByObjectId(objectId);     
    155273} 
    156274 
     
    163281                showHtmlSelectTags(); 
    164282        } 
    165         window.document.body.style.overflow = 'visible';         
     283        window.document.body.style.overflow = 'visible'; 
     284        timeSheetTable = ''; 
    166285} 
    167286 
     
    220339                return false; 
    221340        } 
    222         if(typeof(blogItFor) != 'undefined' && blogItFor == 'assignments'){ 
    223                 if(document.getElementById('blogDate').value != null && document.getElementById('blogDate').value.split('/').length == 3){ 
    224                         workDate = document.getElementById('blogDate').value 
    225                 }  
     341        /*if(typeof(blogItFor) != 'undefined' && blogItFor == 'assignments'){            
    226342                if(document.getElementById('fromHours').value != -1 && document.getElementById('fromMinutes').value != -1){ 
    227343                        fromTime = document.getElementById('fromHours').value +':'+ document.getElementById('fromMinutes').value 
     
    230346                        toTime = document.getElementById('toHours').value +':'+ document.getElementById('toMinutes').value       
    231347                } 
    232                 if(workDate == null || fromTime == null || toTime == null){ 
     348                if(fromTime == null || toTime == null){ 
    233349                        return false; 
    234350                }  
    235         } 
     351        }*/ 
    236352        return true; 
    237353} 
     
    357473                   contentPanel = new Ext.FormPanel({ 
    358474                           border: false, 
    359                            width: 550
     475                           width:'100%'
    360476                           items: [{ 
    361477                                   xtype: 'htmleditor', 
    362478                                   id: 'content', 
    363479                                   fieldLabel: 'Content', 
    364                                    width: 520
     480                                   width: '650px'
    365481                                   height: 200, 
    366482                                   anchor: '95%',