增加初始版本
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/edit_layout_prototype.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/edit_layout_prototype.jsp
new file mode 100644
index 0000000..5f75792
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/edit_layout_prototype.jsp
@@ -0,0 +1,109 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/layout_prototypes/init.jsp" %>
+
+<%
+String redirect = ParamUtil.getString(request, "redirect");
+String backURL = ParamUtil.getString(request, "backURL", redirect);
+
+LayoutPrototype layoutPrototype = (LayoutPrototype)request.getAttribute(WebKeys.LAYOUT_PROTOTYPE);
+
+if (layoutPrototype == null) {
+ layoutPrototype = new LayoutPrototypeImpl();
+
+ layoutPrototype.setNew(true);
+ layoutPrototype.setActive(true);
+}
+
+long layoutPrototypeId = BeanParamUtil.getLong(layoutPrototype, request, "layoutPrototypeId");
+%>
+
+<liferay-util:include page="/html/portlet/layout_prototypes/toolbar.jsp">
+ <liferay-util:param name="toolbarItem" value='<%= layoutPrototype.isNew() ? "add" : StringPool.BLANK %>' />
+</liferay-util:include>
+
+<liferay-ui:header
+ backURL="<%= backURL %>"
+ localizeTitle="<%= layoutPrototype.isNew() %>"
+ title='<%= layoutPrototype.isNew() ? "new-page-template" : layoutPrototype.getName(locale) %>'
+/>
+
+<%
+request.setAttribute("edit_layout_prototype.jsp-layoutPrototype", layoutPrototype);
+request.setAttribute("edit_layout_prototype.jsp-redirect", redirect);
+%>
+
+<liferay-util:include page="/html/portlet/layout_prototypes/merge_alert.jsp" />
+
+<aui:form method="post" name="fm" onSubmit='<%= "event.preventDefault(); " + renderResponse.getNamespace() + "saveLayoutPrototype();" %>'>
+ <aui:input name="<%= Constants.CMD %>" type="hidden" />
+ <aui:input name="redirect" type="hidden" value="<%= redirect %>" />
+ <aui:input name="layoutPrototypeId" type="hidden" value="<%= layoutPrototypeId %>" />
+
+ <aui:model-context bean="<%= layoutPrototype %>" model="<%= LayoutPrototype.class %>" />
+
+ <aui:fieldset>
+ <aui:input autoFocus="<%= windowState.equals(WindowState.MAXIMIZED) %>" name="name" />
+
+ <aui:input name="description" />
+
+ <aui:input name="active" />
+
+ <c:if test="<%= !layoutPrototype.isNew() %>">
+ <aui:field-wrapper label="configuration">
+ <liferay-portlet:actionURL portletName="<%= PortletKeys.SITE_REDIRECTOR %>" var="viewURL">
+ <portlet:param name="struts_action" value="/my_sites/view" />
+ <portlet:param name="groupId" value="<%= String.valueOf(layoutPrototype.getGroupId()) %>" />
+ <portlet:param name="privateLayout" value="<%= Boolean.TRUE.toString() %>" />
+ </liferay-portlet:actionURL>
+
+ <liferay-ui:icon
+ image="view"
+ label="<%= true %>"
+ message="open-page-template"
+ method="get"
+ target="_blank"
+ url="<%= viewURL %>"
+ />
+ </aui:field-wrapper>
+ </c:if>
+ </aui:fieldset>
+
+ <aui:button-row>
+ <aui:button type="submit" />
+
+ <aui:button href="<%= redirect %>" type="cancel" />
+ </aui:button-row>
+</aui:form>
+
+<aui:script>
+ function <portlet:namespace />saveLayoutPrototype() {
+ document.<portlet:namespace />fm.<portlet:namespace /><%= Constants.CMD %>.value = "<%= (layoutPrototype == null) ? Constants.ADD : Constants.UPDATE %>";
+
+ submitForm(document.<portlet:namespace />fm, "<portlet:actionURL><portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" /></portlet:actionURL>");
+ }
+</aui:script>
+
+<%
+if (!layoutPrototype.isNew()) {
+ PortalUtil.addPortletBreadcrumbEntry(request, layoutPrototype.getName(locale), currentURL);
+ PortalUtil.addPortletBreadcrumbEntry(request, LanguageUtil.get(pageContext, "edit"), currentURL);
+}
+else {
+ PortalUtil.addPortletBreadcrumbEntry(request, LanguageUtil.get(pageContext, "add-page"), currentURL);
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/error.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/error.jsp
new file mode 100644
index 0000000..edfe915
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/error.jsp
@@ -0,0 +1,25 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/layout_prototypes/init.jsp" %>
+
+<liferay-ui:header
+ backURL="javascript:history.go(-1);"
+ title="error"
+/>
+
+<liferay-ui:error exception="<%= NoSuchLayoutPrototypeException.class %>" message="the-page-template-could-not-be-found" />
+<liferay-ui:error exception="<%= PrincipalException.class %>" message="you-do-not-have-the-required-permissions" />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init-ext.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init-ext.jsp
new file mode 100644
index 0000000..8aa75ad
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init-ext.jsp
@@ -0,0 +1,15 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init.jsp
new file mode 100644
index 0000000..4b80a64
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init.jsp
@@ -0,0 +1,23 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/init.jsp" %>
+
+<%@ page import="com.liferay.portal.NoSuchLayoutPrototypeException" %><%@
+page import="com.liferay.portal.RequiredLayoutPrototypeException" %><%@
+page import="com.liferay.portal.service.LayoutPrototypeLocalServiceUtil" %>
+
+<%@ include file="/html/portlet/layout_prototypes/init-ext.jsp" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/layout_prototype_action.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/layout_prototype_action.jsp
new file mode 100644
index 0000000..4761898
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/layout_prototype_action.jsp
@@ -0,0 +1,107 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/layout_prototypes/init.jsp" %>
+
+<%
+SearchContainer searchContainer = (SearchContainer)request.getAttribute("liferay-ui:search:searchContainer");
+
+String redirect = searchContainer.getIteratorURL().toString();
+
+ResultRow row = (ResultRow)request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
+
+LayoutPrototype layoutPrototype = (LayoutPrototype)row.getObject();
+%>
+
+<liferay-ui:icon-menu>
+ <c:if test="<%= LayoutPrototypePermissionUtil.contains(permissionChecker, layoutPrototype.getLayoutPrototypeId(), ActionKeys.UPDATE) %>">
+ <portlet:renderURL var="editURL">
+ <portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+ <portlet:param name="redirect" value="<%= redirect %>" />
+ <portlet:param name="layoutPrototypeId" value="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>" />
+ </portlet:renderURL>
+
+ <liferay-ui:icon
+ image="edit"
+ url="<%= editURL %>"
+ />
+ </c:if>
+
+ <c:if test="<%= LayoutPrototypePermissionUtil.contains(permissionChecker, layoutPrototype.getLayoutPrototypeId(), ActionKeys.PERMISSIONS) %>">
+ <liferay-security:permissionsURL
+ modelResource="<%= LayoutPrototype.class.getName() %>"
+ modelResourceDescription="<%= layoutPrototype.getName(locale) %>"
+ resourcePrimKey="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>"
+ var="permissionsURL"
+ windowState="<%= LiferayWindowState.POP_UP.toString() %>"
+ />
+
+ <liferay-ui:icon
+ image="permissions"
+ method="get"
+ url="<%= permissionsURL %>"
+ useDialog="<%= true %>"
+ />
+ </c:if>
+
+ <c:if test="<%= LayoutPrototypePermissionUtil.contains(permissionChecker, layoutPrototype.getLayoutPrototypeId(), ActionKeys.DELETE) %>">
+ <portlet:actionURL var="deleteURL">
+ <portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+ <portlet:param name="<%= Constants.CMD %>" value="<%= Constants.DELETE %>" />
+ <portlet:param name="redirect" value="<%= redirect %>" />
+ <portlet:param name="layoutPrototypeIds" value="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>" />
+ </portlet:actionURL>
+
+ <liferay-ui:icon-delete
+ url="<%= deleteURL %>"
+ />
+ </c:if>
+
+ <c:if test="<%= GroupPermissionUtil.contains(permissionChecker, layoutPrototype.getGroup(), ActionKeys.EXPORT_IMPORT_LAYOUTS) %>">
+ <portlet:renderURL var="exportURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
+ <portlet:param name="struts_action" value="/layout_prototypes/export_layouts" />
+ <portlet:param name="<%= Constants.CMD %>" value="<%= Constants.EXPORT %>" />
+ <portlet:param name="groupId" value="<%= String.valueOf(layoutPrototype.getGroupId()) %>" />
+ <portlet:param name="privateLayout" value="<%= Boolean.TRUE.toString() %>" />
+ <portlet:param name="rootNodeName" value="<%= layoutPrototype.getName(locale) %>" />
+ </portlet:renderURL>
+
+ <liferay-ui:icon
+ cssClass="export-layout-prototype layout-prototype-action"
+ image="export"
+ method="get"
+ url="<%= exportURL %>"
+ />
+ </c:if>
+
+ <c:if test="<%= GroupPermissionUtil.contains(permissionChecker, layoutPrototype.getGroup(), ActionKeys.EXPORT_IMPORT_LAYOUTS) %>">
+ <portlet:renderURL var="importURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
+ <portlet:param name="struts_action" value="/layout_prototypes/import_layouts" />
+ <portlet:param name="<%= Constants.CMD %>" value="<%= Constants.IMPORT %>" />
+ <portlet:param name="groupId" value="<%= String.valueOf(layoutPrototype.getGroupId()) %>" />
+ <portlet:param name="privateLayout" value="<%= Boolean.TRUE.toString() %>" />
+ <portlet:param name="rootNodeName" value="<%= layoutPrototype.getName(locale) %>" />
+ </portlet:renderURL>
+
+ <liferay-ui:icon
+ cssClass="import-layout-prototype layout-prototype-action"
+ image="add"
+ message="import"
+ method="get"
+ url="<%= importURL %>"
+ />
+ </c:if>
+</liferay-ui:icon-menu>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/merge_alert.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/merge_alert.jsp
new file mode 100644
index 0000000..a0a514c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/merge_alert.jsp
@@ -0,0 +1,70 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/layout_prototypes/init.jsp" %>
+
+<%
+LayoutPrototype layoutPrototype = (LayoutPrototype)request.getAttribute("edit_layout_prototype.jsp-layoutPrototype");
+String redirect = (String)request.getAttribute("edit_layout_prototype.jsp-redirect");
+long selPlid = GetterUtil.getLong((String)request.getAttribute("edit_layout_prototype.jsp-selPlid"));
+
+int mergeFailCount = SitesUtil.getMergeFailCount(layoutPrototype);
+%>
+
+<c:if test="<%= mergeFailCount > PropsValues.LAYOUT_PROTOTYPE_MERGE_FAIL_THRESHOLD %>">
+
+ <%
+ boolean merge = false;
+
+ String randomNamespace = PortalUtil.generateRandomKey(request, "portlet_layout_prototypes_merge_alert") + StringPool.UNDERLINE;
+
+ PortletURL portletURL = liferayPortletResponse.createActionURL();
+
+ portletURL.setParameter("redirect", redirect);
+ portletURL.setParameter("layoutPrototypeId",String.valueOf(layoutPrototype.getLayoutPrototypeId()));
+
+ if (selPlid > 0) {
+ portletURL.setParameter("struts_action", "/layouts_admin/edit_layouts");
+ portletURL.setParameter(Constants.CMD, "reset_merge_fail_count_and_merge");
+ portletURL.setParameter("selPlid", String.valueOf(selPlid));
+
+ merge = true;
+ }
+ else {
+ portletURL.setParameter("struts_action", "/layout_prototypes/edit_layout_prototype");
+ portletURL.setParameter(Constants.CMD, "reset_merge_fail_count");
+ }
+ %>
+
+ <span class="alert alert-block">
+ <liferay-ui:message arguments='<%= new Object[] {mergeFailCount, "page-template"} %>' key="the-propagation-of-changes-from-the-x-has-been-disabled-temporarily-after-x-errors" />
+
+ <liferay-ui:message arguments="page-template" key='<%= merge ? "click-reset-and-propagate-to-reset-the-failure-count-and-propagate-changes-from-the-x" : "click-reset-to-reset-the-failure-count-and-reenable-propagation" %>' />
+
+ <aui:button id='<%= randomNamespace + "resetButton" %>' value='<%= merge ? "reset-and-propagate" : "reset" %>' />
+ </span>
+
+ <aui:script use="aui-base">
+ var resetButton= A.one('#<%= randomNamespace %>resetButton');
+
+ resetButton.on(
+ 'click',
+ function(event) {
+ submitForm(document.hrefFm, '<%= portletURL.toString() %>');
+ }
+ );
+ </aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/toolbar.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/toolbar.jsp
new file mode 100644
index 0000000..af2dd7d
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/toolbar.jsp
@@ -0,0 +1,39 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/layout_prototypes/init.jsp" %>
+
+<%
+String toolbarItem = ParamUtil.getString(request, "toolbarItem");
+%>
+
+<aui:nav-bar>
+ <aui:nav>
+ <portlet:renderURL var="viewLayoutPrototypesURL">
+ <portlet:param name="struts_action" value="/layout_prototypes/view" />
+ </portlet:renderURL>
+
+ <c:if test="<%= PortalPermissionUtil.contains(permissionChecker, ActionKeys.ADD_LAYOUT_PROTOTYPE) %>">
+ <portlet:renderURL var="addLayoutPrototypeURL">
+ <portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+ <portlet:param name="redirect" value="<%= viewLayoutPrototypesURL %>" />
+ <portlet:param name="backURL" value="<%= viewLayoutPrototypesURL %>" />
+ </portlet:renderURL>
+
+ <aui:nav-item href="<%= addLayoutPrototypeURL %>" iconCssClass="icon-plus" label="add" selected='<%= toolbarItem.equals("add") %>' />
+ </c:if>
+ </aui:nav>
+</aui:nav-bar>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/view.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/view.jsp
new file mode 100644
index 0000000..6d75e73
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/view.jsp
@@ -0,0 +1,114 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/layout_prototypes/init.jsp" %>
+
+<%
+PortletURL portletURL = renderResponse.createRenderURL();
+
+portletURL.setParameter("struts_action", "/layout_prototypes/view");
+%>
+
+<liferay-ui:error exception="<%= RequiredLayoutPrototypeException.class %>" message="you-cannot-delete-page-templates-that-are-used-by-a-page" />
+
+<liferay-util:include page="/html/portlet/layout_prototypes/toolbar.jsp" />
+
+<aui:form action="<%= portletURL.toString() %>" method="get" name="fm">
+ <liferay-portlet:renderURLParams varImpl="portletURL" />
+ <aui:input name="<%= Constants.CMD %>" type="hidden" />
+ <aui:input name="redirect" type="hidden" value="<%= portletURL.toString() %>" />
+
+ <liferay-ui:search-container
+ emptyResultsMessage="no-page-templates-were-found"
+ headerNames="name"
+ iteratorURL="<%= portletURL %>"
+ total="<%= LayoutPrototypeLocalServiceUtil.searchCount(company.getCompanyId(), null) %>"
+ >
+ <aui:input name="deleteLayoutPrototypesIds" type="hidden" />
+
+ <liferay-ui:search-container-results
+ results="<%= LayoutPrototypeLocalServiceUtil.search(company.getCompanyId(), null, searchContainer.getStart(), searchContainer.getEnd(), null) %>"
+ />
+
+ <liferay-ui:search-container-row
+ className="com.liferay.portal.model.LayoutPrototype"
+ escapedModel="<%= true %>"
+ keyProperty="layoutPrototypeId"
+ modelVar="layoutPrototype"
+ >
+ <liferay-portlet:renderURL varImpl="rowURL">
+ <portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+ <portlet:param name="redirect" value="<%= searchContainer.getIteratorURL().toString() %>" />
+ <portlet:param name="backURL" value="<%= searchContainer.getIteratorURL().toString() %>" />
+ <portlet:param name="layoutPrototypeId" value="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>" />
+ </liferay-portlet:renderURL>
+
+ <liferay-ui:search-container-column-text
+ name="name"
+ orderable="<%= true %>"
+ >
+
+ <aui:a href="<%= rowURL.toString() %>"><%= layoutPrototype.getName(locale) %></aui:a>
+
+ <%
+ int mergeFailCount = SitesUtil.getMergeFailCount(layoutPrototype);
+ %>
+
+ <c:if test="<%= mergeFailCount > PropsValues.LAYOUT_PROTOTYPE_MERGE_FAIL_THRESHOLD %>">
+ <liferay-ui:icon
+ image="../messages/alert"
+ message='<%= LanguageUtil.format(pageContext, "the-propagation-of-changes-from-the-x-has-been-disabled-temporarily-after-x-errors", new Object[] {mergeFailCount, "page-template"}) %>'
+ />
+ </c:if>
+ </liferay-ui:search-container-column-text>
+
+ <liferay-ui:search-container-column-text
+ href="<%= rowURL %>"
+ name="active"
+ >
+ <%= LanguageUtil.get(pageContext, layoutPrototype.isActive()? "yes" : "no") %>
+ </liferay-ui:search-container-column-text>
+
+ <liferay-ui:search-container-column-jsp
+ align="right"
+ path="/html/portlet/layout_prototypes/layout_prototype_action.jsp"
+ />
+ </liferay-ui:search-container-row>
+
+ <liferay-ui:search-iterator />
+ </liferay-ui:search-container>
+</aui:form>
+
+<aui:script use="aui-base,liferay-util-window">
+ A.getBody().delegate(
+ 'click',
+ function(event) {
+ event.preventDefault();
+
+ var link = event.currentTarget;
+ var title = link.get('text');
+
+ Liferay.Util.openWindow(
+ {
+ id: '<portlet:namespace />' + title,
+ title: title,
+ uri: link.attr('href')
+ }
+ );
+ },
+ '.layout-prototype-action a'
+ );
+</aui:script>
\ No newline at end of file