Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp Thu Aug 9 21:45:33 2012 @@ -25,6 +25,8 @@ <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %> <fmt:setBundle basename="messages"/> <jsp:useBean id="userProfile" type="org.apache.rave.portal.model.JpaUser" scope="request"/> +<sec:authentication property="principal.username" var="principleUsername" scope="request"/> +<sec:authentication property="principal.displayName" var="displayName" scope="request"/> <!-- get the display name of user --> <fmt:message key="page.personProfile.title" var="pageTitle"> @@ -44,8 +46,8 @@ <fmt:message key="page.home.welcome" var="pagetitle"> <fmt:param> <c:choose> - <c:when test="${not empty page.owner.displayName}"><c:out value="${page.owner.displayName}"/></c:when> - <c:otherwise><c:out value="${page.owner.username}"/></c:otherwise> + <c:when test="${not empty displayName}"><c:out value="${displayName}"/></c:when> + <c:otherwise><c:out value="${principleUsername}"/></c:otherwise> </c:choose> </fmt:param> </fmt:message> @@ -54,67 +56,92 @@ <div id="pageContent" class="container-fluid navbar-spacer"> <div class="row-fluid"> <div class="span9"> - <div id="personProfileContent" class="row-fluid"> - <form:form id="editAccountForm" commandName="userProfile" action="person?referringPageId=${referringPageId}" method="POST"> - <!-- Display personal information of user--> - <h2><fmt:message key="page.profile.personal.info" /></h2> - <fieldset> - <div class="span12"> - <p> - <label for="givenNameField"><fmt:message key="page.profile.first.name"/></label> - <label id="givenName" class="profile-info-visible"><c:out value="${userProfile.givenName}"/></label> - <form:input id="givenNameField" path="givenName" class="profile-info-hidden" value="${userProfile.givenName}" /> - </p> - </div> - <div class="span12"> - <p> - <label for="familyNameField"><fmt:message key="page.profile.last.name"/></label> - <label id="familyName" class="profile-info-visible"><c:out value="${userProfile.familyName}"/></label> - <form:input id="familyNameField" path="familyName" class="profile-info-hidden" value="${userProfile.familyName}"/> - </p> - </div> - <div class="span12"> - <p> - <label for="displayNameField" class="profile-info-hidden"><fmt:message key="page.profile.display.name"/></label> - <form:input id="displayNameField" path="displayName" class="profile-info-hidden" value="${userProfile.displayName}"/> - </p> - </div> - </fieldset> + <div id="personProfileContent"> + <form:form id="editAccountForm" commandName="userProfile" action="person?referringPageId=${referringPageId}" method="POST" class="form-horizontal"> - <!-- Display basic information of user --> - <h2><fmt:message key="page.profile.basic.info" /></h2> - <fieldset> - <div class="span12"> - <p> - <label for="aboutMeField"><fmt:message key="page.profile.about.me"/></label> - <label id="aboutMe" class="profile-info-visible"><c:out value=" ${userProfile.aboutMe}"/></label> - <form:textarea id="aboutMeField" path="aboutMe" class="profile-info-hidden" value="${userProfile.aboutMe}" /> - </p> - </div> - <div class="span12"> - <p> - <label for="statusField"><fmt:message key="page.profile.status"/></label> - <label id="status" class="profile-info-visible"><c:out value=" ${userProfile.status}"/></label> - <form:input id="statusField" path="status" class="profile-info-hidden" value="${userProfile.status}" /> - </p> + <fieldset class="row-fluid" id="userProfilePrimaryData"> + <div class="span2 profile-user-thumb"> + <img src="http://placehold.it/125x165&text=photo"/> + </div> + + <div class="span10"> + <!-- Display user info--> + <div class="profile-info-visible"> + <h2><c:out value="${userProfile.displayName}"/></h2> + <h3><span id="givenName"><c:out value="${userProfile.givenName}"/></span> <span id="familyName"><c:out value="${userProfile.familyName}"/></span></h3> + <p class="profile-user-status"> + <fmt:message key="page.profile.status"/> + <span id="status"><c:out value="${userProfile.status}"/></span> + </p> + <p class="profile-info-visible"> + <fmt:message key="page.profile.about.me"/> + <span id="aboutMe"><c:out value=" ${userProfile.aboutMe}"/></span> + </p> + </div> + <!-- Display edit view of user info--> + <div class="profile-info-hidden"> + <div class="control-group"> + <label for="displayNameField" class="control-label"><fmt:message key="page.profile.display.name"/></label> + <div class="controls"> + <form:input id="displayNameField" path="displayName" value="${userProfile.displayName}" class="span6"/> + </div> + </div> + <div class="control-group"> + <label class="control-label pull-left"><fmt:message key="page.profile.first.name"/></label> + <form:input id="givenNameField" path="givenName" class="span3 pull-left" value="${userProfile.givenName}" /> + + <label class="control-label pull-left"><fmt:message key="page.profile.last.name"/></label> + <form:input id="familyNameField" path="familyName" class="span3 pull-left" value="${userProfile.familyName}"/> + </div> + <div class="control-group"> + <label for="statusField" class="control-label"><fmt:message key="page.profile.status"/></label> + <div class="controls"> + <form:select path="status" class="span3" id="statusField"> + <fmt:message key="page.general.relation.single" var="singleText"/> + <form:option value="${singleText}" id="single_id">${singleText}</form:option> + <fmt:message key="page.general.relation.committed" var="committedText"/> + <form:option value="${committedText}" id="committed_id">${committedText}</form:option> + <fmt:message key="page.general.relation.married" var="marriedText"/> + <form:option value="${marriedText}" id="married_id">${marriedText}</form:option> + <fmt:message key="page.general.relation.other" var="otherText"/> + <form:option value="${otherText}" id="other_id">${otherText}</form:option> + </form:select> + </div> + </div> + <div class="control-group"> + <label for="aboutMeField" class="control-label"><fmt:message key="page.profile.about.me"/></label> + <div class="controls"> + <form:textarea id="aboutMeField" path="aboutMe" value="${userProfile.aboutMe}" class="span11" /> + </div> + </div> + </div> </div> </fieldset> <!-- Display contact information of user --> - <h2><fmt:message key="page.profile.contact.info" /></h2> - <fieldset> - <div class="span12"> - <p> - <label for="emailField"><fmt:message key="page.profile.email"/></label> - <label id="email" class="profile-info-visible"><c:out value=" ${userProfile.email}"/></label> - <form:input id="emailField" path="email" class="profile-info-hidden" value="${userProfile.email}" /> - </p> - </div> + <fieldset class="row-fluid"> + <div class=" span12"> + <div class="well"> + <h4><fmt:message key="page.profile.contact.info" /></h4> + <div class="profile-info-visible"> + <p id='email'><c:out value=" ${userProfile.email}"/></p> + </div> + <div class="profile-info-hidden"> + <div class="control-group"> + <label for="emailField" class="control-label"><fmt:message key="page.profile.email"/></label> + <div class="controls"> + <form:input id="emailField" path="email" class="span5" value="${userProfile.email}" /> + </div> + </div> + </div> + </div> + </div> </fieldset> + <%-- only display the edit profile button if the current logged in user matches the profile being viewed --%> <c:set var="currentUsername"><sec:authentication property="principal.username" htmlEscape="false" /></c:set> <c:if test="${currentUsername == userProfile.username}"> - <fieldset> + <fieldset class="row-fluid"> <div class="span12"> <p> <input type="hidden" id="profileInfo" value="profile-info" /> @@ -126,6 +153,7 @@ </div> </fieldset> </c:if> + </form:form> </div> @@ -157,6 +185,10 @@ rave.initUI(); rave.layout.init(); rave.personprofile.init(); + rave.setPageOwner({ + username: "${userProfile.username}", + id: "${userProfile.id}" + }); }); </script> </portal:register-init-script>
Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp Thu Aug 9 21:45:33 2012 @@ -23,75 +23,50 @@ <tiles:putAttribute name="pageTitleKey" value="page.retrieveusername.title"/> <tiles:importAttribute name="pageTitleKey" scope="request"/> -<header> - <nav> - <div class="navbar navbar-fixed-top"> - <div class="container"> - <a href="<c:url value="/"/>" class="brand">RAVE</a> - <ul class="nav pull-right"> - <li class="divider-vertical"></li> - <li> - <form class="form-inline" action="<c:url value="/app/newpassword"/>" method="get"> - <fmt:message key="page.login.forgot.password.button" var="requestNewPasswordButtonText"/> - <button class="btn btn-info" id="requestNewPasswordButton" type="submit" value="${requestNewPasswordButtonText}">${requestNewPasswordButtonText}</button> - </form> - </li> - <li class="divider-vertical"></li> - <li> - <form class="form-inline" action="<c:url value="/app/newaccount.jsp"/>" method="get"> - <fieldset> - <fmt:message key="page.login.createaccount.button" var="createAccountButtonText"/> - <button class="btn btn-info" id="createNewAccountButton" type="submit" value="${createAccountButtonText}">${createAccountButtonText}</button> - </fieldset> - </form> - </li> - <li class="divider-vertical"></li> - </ul> - </div> - </div> - </nav> -</header> -<br><br> -<div class="container navbar-spacer"> - <h1><fmt:message key="page.retrieveusername.title"/></h1> - <c:choose> - <c:when test="${success}"> +<rave:login_navbar hideButton="requestNewUsernameButton" /> - <div class="alert-message success"> - <fmt:message key="page.newpassword.email.sent"> - <fmt:param>${email}</fmt:param> - </fmt:message> - </div> - <a href="<c:url value="/"/>"><fmt:message key="page.newpassword.email.sent.login"/></a> - </c:when> - - <c:otherwise> - <form:form cssClass="form-horizontal well" commandName="user" action="retrieveusername" method="post"> - <fieldset> - <p><fmt:message key="form.all.fields.required"/></p> - - <p><form:errors cssClass="error"/></p> - - <div class="control-group"> - - <label class="control-label" for="emailField"><fmt:message key="page.general.email"/></label> - <div class="controls"> - <form:input id="emailField" path="email" required="required" autofocus="autofocus"/> - <form:errors path="email" cssClass="error"/> - </div> - </div> - </fieldset> - <fieldset> - <div class="control-group"> - <div class="controls">${captchaHtml}</div> - </div> - </fieldset> - - <fieldset> - <fmt:message key="page.login.forgot.username.button" var="submitButtonText"/> - <button class="btn btn-primary" type="submit" value="${submitButtonText}">${submitButtonText}</button> - </fieldset> - </form:form> - </c:otherwise> - </c:choose> +<div class="container-fluid"> + <div class="row-fluid"> + <h1><fmt:message key="page.retrieveusername.title"/></h1> + <c:choose> + <c:when test="${success}"> + + <div class="alert-message success"> + <fmt:message key="page.newpassword.email.sent"> + <fmt:param>${email}</fmt:param> + </fmt:message> + </div> + <a href="<c:url value="/"/>"><fmt:message key="page.newpassword.email.sent.login"/></a> + </c:when> + + <c:otherwise> + <form:form cssClass="form-horizontal well" commandName="user" action="retrieveusername" method="post"> + <fieldset> + <p><fmt:message key="form.all.fields.required"/></p> + + <p><form:errors cssClass="error"/></p> + + <div class="control-group"> + + <label class="control-label" for="emailField"><fmt:message key="page.general.email"/></label> + <div class="controls"> + <form:input id="emailField" path="email" required="required" autofocus="autofocus"/> + <form:errors path="email" cssClass="error"/> + </div> + </div> + </fieldset> + <fieldset> + <div class="control-group"> + <div class="controls">${captchaHtml}</div> + </div> + </fieldset> + + <fieldset> + <fmt:message key="page.login.forgot.username.button" var="submitButtonText"/> + <button class="btn btn-primary" type="submit" value="${submitButtonText}">${submitButtonText}</button> + </fieldset> + </form:form> + </c:otherwise> + </c:choose> + </div> </div> \ No newline at end of file Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_js.tag URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_js.tag?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_js.tag (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_js.tag Thu Aug 9 21:45:33 2012 @@ -18,11 +18,11 @@ --%> <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %> -<portal:render-script location="${'BEFORE_LIB'}" /> -<rave:third_party_js /> -<portal:render-script location="${'AFTER_LIB'}" /> +<portal:render-script location="${'BEFORE_LIB'}"/> +<rave:third_party_js/> +<portal:render-script location="${'AFTER_LIB'}"/> <%-- local rave scripts --%> -<portal:render-script location="${'BEFORE_RAVE'}" /> +<portal:render-script location="${'BEFORE_RAVE'}"/> <%-- check to see if the javaScriptDebugMode is on, if so render the individual JS files, otherwise render the minified single file --%> <c:choose> <c:when test="${not empty portalSettings and not empty portalSettings['javaScriptDebugMode'] and portalSettings['javaScriptDebugMode'].value == '0'}"> @@ -41,8 +41,14 @@ </c:otherwise> </c:choose> <script src="<spring:url value="/app/messagebundle/rave_client_messages.js"/>"></script> -<portal:render-script location="${'AFTER_RAVE'}" /> +<portal:render-script location="${'AFTER_RAVE'}"/> <%-- common javascript to execute on all pages --%> <script> rave.setContext("<spring:url value="/app/" />"); + <sec:authorize access="isAuthenticated()"> + <sec:authentication property="principal.username" scope="request" var="username"/> + <sec:authentication property="principal.id" scope="request" var="id"/> + rave.setPageViewer({username:"${username}", + id:"${id}"}); + </sec:authorize> </script> Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tiles-defs.xml URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tiles-defs.xml?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tiles-defs.xml (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tiles-defs.xml Thu Aug 9 21:45:33 2012 @@ -22,6 +22,14 @@ <tiles-definitions> + <!-- PARTIALS --> + <definition name="templates.partial" template="/WEB-INF/jsp/templates/partial_layout.jsp"> + </definition> + + <definition name="templates.partial.regionwidget" extends="templates.partial"> + <put-attribute name="body" value="/WEB-INF/jsp/views/regionwidget.jsp"/> + </definition> + <!-- BASE DEFINITIONS FOR THE ENTIRE APPLICATION --> <definition name="templates.base" template="/WEB-INF/jsp/templates/base_layout.jsp"> <put-attribute name="pageTitleKey" value="page.general.title"/> Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/static/css/rave-css.less URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/static/css/rave-css.less?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/static/css/rave-css.less (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/static/css/rave-css.less Thu Aug 9 21:45:33 2012 @@ -20,7 +20,14 @@ .hidden { display: none; } - +.alert-error a{ + color: @errorText; + text-decoration: underline; + + &:hover{ + color: #B12926; + } +} /* content */ #content { background-color: transparent; @@ -36,9 +43,31 @@ #personProfileContent { background-color: transparent; - padding: 0 20px; - width: 90%; - margin: 1em auto 0; + /*padding: 0 20px; + width: 90%;*/ + margin: 1em 0 0; + + .form-horizontal .controls{ + margin-left: 100px; + } + + .profile-user-thumb img{ + max-width: 100%; + } + + #userProfilePrimaryData{ margin-bottom: 20px;} + + h3{font-weight: normal; margin-bottom: 9px;} + + #editAccountForm { + input[type="text"]{float: left;} + + label{ + text-align: right; + width: 95px; + margin-right: 5px; + } + } } .person-profile-page-content { @@ -219,6 +248,14 @@ /* layout */ .navbar { margin-bottom: 18px; + + .nav form{ + margin: 0; + + button{ + margin-top: 7px; + } + } } .regions { @@ -781,8 +818,12 @@ span.error, label.error { #errorStack { display: none; - width: 90%; margin: auto; + text-align: center; + + pre{ + text-align: left; + } } .errorMessage { @@ -1176,4 +1217,4 @@ footer { } } @media (min-width: 768px) and (max-width: 979px) { } -@media (min-width: 1200px) { } \ No newline at end of file +@media (min-width: 1200px) { } Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave.js URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave.js?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave.js (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave.js Thu Aug 9 21:45:33 2012 @@ -26,6 +26,14 @@ var rave = rave || (function () { // variable to store whether or not some // UI actions should be propagated back to the server var pageEditor = true; + var pageViewer = { + username: "Unknown", + id:-1 + }; + var pageOwner = { + username: "Unknown", + id:-1 + }; var onWidgetsInitializedHandlers = []; var onProvidersInitializedHandlers = []; @@ -946,6 +954,24 @@ var rave = rave || (function () { function resetOpenAjaxHubInstance() { openAjaxHub = null; } + + function renderNewWidget(regionWidgetId){ + // When run as the callback argument supplied to rave.api.rpc.addWidgetToPage + // this method will render the widget in the current page. + + // load widget into a placeholder element + var placeholder = document.createElement("div"); + $(placeholder).load(rave.getContext()+"/api/rest/regionwidget/"+regionWidgetId, function(){ + // prepend to first region + var region = $("#region-1-id"); + region.prepend(placeholder); + // remove the placeholder around the widget-wrapper + region.children(":first").children(":first").unwrap(); + // initialize + initializeWidgets(); + } + ); + } function initializeWidgets() { //We get the widget objects in a map keyed by region ID. The code below converts that map into a flat array @@ -1003,6 +1029,18 @@ var rave = rave || (function () { } function initializeWidget(widget) { + + // Widget has been deleted on the page but not removed from list + var widgetBody = $(["#widget-", widget.regionWidgetId, "-body"].join("")); + if(widgetBody.length === 0){ + return; + } else { + // Widget has already been initialized + if(typeof widgetBody.children !== "undefined" && widgetBody.children().length !== 0){ + return; + } + } + if (widget.type == "DISABLED") { renderDisabledWidget(widget.regionWidgetId, unescape(widget.disabledMessage)); return; @@ -1044,6 +1082,22 @@ var rave = rave || (function () { return context; } + function setPageViewer(viewer) { + pageViewer = viewer; + } + + function getPageViewer(){ + return pageViewer; + } + + function setPageOwner(owner){ + pageOwner = owner; + } + + function getPageOwner(){ + return pageOwner; + } + function getRegionWidgetById(regionWidgetId) { return widgetByIdMap[regionWidgetId]; } @@ -1162,6 +1216,12 @@ var rave = rave || (function () { registerWidget:registerWidget, /** + * Render a newly-added widget in the page + * @param regionWidgetId the regionWidgetId of the widget to render + */ + renderNewWidget:renderNewWidget, + + /** * Initialize all of the registered providers */ initProviders:initializeProviders, @@ -1228,6 +1288,30 @@ var rave = rave || (function () { getContext:getContext, /** + * Sets the authenticated page viewer for the Rave web application + * + * @param viewer an object representing the authenticated user viewing the page {username:"bob", id:"1"} + */ + setPageViewer:setPageViewer, + + /** + * Gets the current viewer + */ + getPageViewer:getPageViewer, + + /** + * Sets the owner of the current page + * + * @param owner an object representing the owner of the page + */ + setPageOwner:setPageOwner, + + /** + * Gets the page owner + */ + getPageOwner:getPageOwner, + + /** * Gets a regionwidget by region widget id */ getRegionWidgetById:getRegionWidgetById, Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_api.js URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_api.js?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_api.js (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_api.js Thu Aug 9 21:45:33 2012 @@ -257,6 +257,10 @@ rave.api = rave.api || (function() { if (addedWidget != undefined && addedWidget.title != undefined && addedWidget.title.length > 0) { widgetTitle = addedWidget.title; + } + // if a callback is supplied, invoke it with the regionwidget id + if (args.successCallback && addedWidget != undefined){ + args.successCallback(result.result.id); } rave.showInfoMessage(widgetTitle + ' ' + rave.getClientMessage("widget.add_suffix")); } Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_layout.js URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_layout.js?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_layout.js (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_layout.js Thu Aug 9 21:45:33 2012 @@ -68,6 +68,9 @@ rave.layout = rave.layout || (function() // dialog between separate add/edit page actions $pageMenuUpdateButton.unbind('click'); $pageMenuUpdateButton.click(rave.layout.addPage); + $('#pageMenuDialog').on('shown', function () { + $("#tab_title").first().focus(); + }); $("#pageMenuDialog").modal('show'); }); @@ -85,6 +88,9 @@ rave.layout = rave.layout || (function() // dialog between separate add/edit page actions $pageMenuUpdateButton.unbind('click'); $pageMenuUpdateButton.click(rave.layout.updatePage); + $('#pageMenuDialog').on('shown', function () { + $("#tab_title").first().focus(); + }); $("#pageMenuDialog").modal('show'); } }); @@ -111,6 +117,9 @@ rave.layout = rave.layout || (function() rave.api.rpc.getUsers({offset: 0, successCallback: function(result) { rave.layout.searchHandler.dealWithUserResults(result); + $('#sharePageDialog').on('shown', function () { + $("#searchTerm").first().focus(); + }); $("#sharePageDialog").modal('show'); } }); @@ -306,7 +315,11 @@ rave.layout = rave.layout || (function() $('#confirmSharePageDialog').modal('hide'); rave.api.rpc.updateSharedPageStatus({pageId: rave.layout.searchHandler.pageId, shareStatus: 'refused', successCallback: function(result) { - document.location.href='/'; + rave.api.rpc.removeMemberFromPage({pageId:rave.layout.searchHandler.pageId, userId:rave.layout.searchHandler.userId, + successCallback:function (result) { + document.location.href='/'; + }}); + } }); } Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_wookie.js URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_wookie.js?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_wookie.js (original) +++ rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_wookie.js Thu Aug 9 21:45:33 2012 @@ -76,27 +76,27 @@ rave.wookie = rave.wookie || (function() // collapse/restore functions widget.collapse = function() { - $(ooacontainer.getIframe).hide(); + $(ooacontainer.getIframe()).hide(); }; widget.restore = function() { - $(ooacontainer.getIframe).show(); + $(ooacontainer.getIframe()).show(); }; widget.maximize = function() { // always display the widget in canvas view even if it currently collapsed if (widget.collapsed){ userCollapsed = true; - $(ooacontainer.getIframe).show(); + $(ooacontainer.getIframe()).show(); } }; widget.minimize = function() { if (widget.collapsed){ userCollapsed = false; - $(ooacontainer.getIframe).hide(); + $(ooacontainer.getIframe()).hide(); } }; // if in the collapsed state, hide the layer if (widget.collapsed){ - $(ooacontainer.getIframe).hide(); + $(ooacontainer.getIframe()).hide(); } } Modified: rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java (original) +++ rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/main/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRenderer.java Thu Aug 9 21:45:33 2012 @@ -97,7 +97,8 @@ public class OpenSocialWidgetRenderer im } String widgetScript = getWidgetScript(item); - String key = REGISTER_WIDGET_KEY + (item.getWidget().getId() == null ? "" : "-" + item.getWidget().getId()); + // the key is based off the RegionWidget.id to ensure uniqueness + String key = REGISTER_WIDGET_KEY + (item.getId() == null ? "" : "-" + item.getId()); scriptManager.registerScriptBlock(key, widgetScript, ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context); logger.debug("Gadget Script Data from OpenSocialWidgetRenderer: " + widgetScript); Modified: rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java (original) +++ rave/branches/model-split/rave-providers/rave-opensocial-provider/rave-opensocial-client/src/test/java/org/apache/rave/provider/opensocial/web/renderer/OpenSocialWidgetRendererTest.java Thu Aug 9 21:45:33 2012 @@ -114,7 +114,7 @@ public class OpenSocialWidgetRendererTes expect(securityTokenService.getEncryptedSecurityToken(rw)).andReturn(VALID_SECURITY_TOKEN); replay(securityTokenService); - String key = OpenSocialWidgetRenderer.REGISTER_WIDGET_KEY+"-"+w.getId(); + String key = OpenSocialWidgetRenderer.REGISTER_WIDGET_KEY+"-"+rw.getId(); scriptManager.registerScriptBlock(key, markup, ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, renderContext); // TODO Renable this test once it's fixed. //expectLastCall(); Modified: rave/branches/model-split/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java (original) +++ rave/branches/model-split/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRenderer.java Thu Aug 9 21:45:33 2012 @@ -99,7 +99,8 @@ public class W3cWidgetRenderer implement } String widgetScript = getWidgetScript(item); - String key = REGISTER_WIDGET_KEY + "-" + widget.getId(); + // the key is based off the RegionWidget.id to ensure uniqueness + String key = REGISTER_WIDGET_KEY + "-" + item.getId(); scriptManager.registerScriptBlock(key, widgetScript, ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context); logger.debug("Gadget Script Data: " + widgetScript); Modified: rave/branches/model-split/rave-providers/rave-w3c-provider/src/test/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRendererTest.java URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-providers/rave-w3c-provider/src/test/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRendererTest.java?rev=1371499&r1=1371498&r2=1371499&view=diff ============================================================================== --- rave/branches/model-split/rave-providers/rave-w3c-provider/src/test/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRendererTest.java (original) +++ rave/branches/model-split/rave-providers/rave-w3c-provider/src/test/java/org/apache/rave/provider/w3c/web/renderer/W3cWidgetRendererTest.java Thu Aug 9 21:45:33 2012 @@ -50,6 +50,7 @@ public class W3cWidgetRendererTest { private static final String VALID_WIDGET_URL = "http://example.com/widgets/1"; private static final String VALID_WIDGET_INSTANCE_URL = "http://example.com/widgetinstances/1"; + private static final String REGION_WIDGET_ID = "1"; private Renderer<RegionWidget> renderer; private WidgetProviderService wookieService; private UserService userService; @@ -81,7 +82,7 @@ public class W3cWidgetRendererTest { w.setType(Constants.WIDGET_TYPE); w.setUrl("http://example.com/widgets/1"); Region region = new RegionImpl("1"); - RegionWidget rw = new RegionWidgetImpl("1"); + RegionWidget rw = new RegionWidgetImpl(REGION_WIDGET_ID); rw.setWidget(w); rw.setRegion(region); @@ -92,7 +93,7 @@ public class W3cWidgetRendererTest { replay(wookieService); String placeholder = renderer.render(rw, renderContext); - assertEquals("Script block for widget is incorrect", "<!-- RegionWidget 1 placeholder -->", placeholder); + assertEquals("Script block for widget is incorrect", "<!-- RegionWidget " + REGION_WIDGET_ID + " placeholder -->", placeholder); } @Test(expected = NotSupportedException.class)
