<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
<component name="InspectionProjectProfileManager">
<option name="PROJECT_PROFILE" value="NoInspections" />
- <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+ <option name="USE_PROJECT_LEVEL_SETTINGS" value="true" />
<scopes />
<profiles>
<profile version="1.0" is_locked="false">
<inspection_tool class="XsltUnusedDeclaration" level="WARNING" enabled="false" />
</profile>
</profiles>
- <list size="0" />
+ <list size="4">
+ <item index="0" class="java.lang.String" itemvalue="SERVER PROBLEM" />
+ <item index="1" class="java.lang.String" itemvalue="INFO" />
+ <item index="2" class="java.lang.String" itemvalue="WARNING" />
+ <item index="3" class="java.lang.String" itemvalue="ERROR" />
+ </list>
</component>
<component name="JavacSettings">
<option name="DEBUGGING_INFO" value="true" />
<?xml version="1.0" encoding="UTF-8"?>
<project relativePaths="false" version="4">
<component name="ChangeListManager">
- <list default="true" name="Default" comment="" />
- <ignored path=".idea/workspace.xml" />
+ <list default="true" name="Default" comment="">
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/web-app/css/grey/screen.css" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/grails-app/domain/Page.groovy" afterPath="$PROJECT_DIR$/grails-app/domain/Page.groovy" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/grails-app/views/page/edit.gsp" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/grails-app/views/layouts/blue_theme.gsp" afterPath="$PROJECT_DIR$/grails-app/views/layouts/blue_theme.gsp" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Portal.ipr" afterPath="$PROJECT_DIR$/Portal.ipr" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/grails-app/conf/BootStrap.groovy" afterPath="$PROJECT_DIR$/grails-app/conf/BootStrap.groovy" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/grails-app/views/page/display.gsp" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/grails-app/views/page/list.gsp" afterPath="" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/grails-app/views/display/index.gsp" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/grails-app/controllers/AttachmentController.groovy" afterPath="$PROJECT_DIR$/grails-app/controllers/AttachmentController.groovy" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/grails-app/views/admin.gsp" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/grails-app/views/page/show.gsp" afterPath="" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/grails-app/controllers/DisplayController.groovy" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/grails-app/controllers/PageController.groovy" afterPath="$PROJECT_DIR$/grails-app/controllers/PageController.groovy" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/grails-app/views/display/show.gsp" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Portal.iws" afterPath="$PROJECT_DIR$/Portal.iws" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/grails-app/views/layouts/grey.gsp" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/grails-app/views/page/create.gsp" afterPath="" />
+ </list>
<ignored path="Portal.iws" />
+ <ignored path=".idea/workspace.xml" />
</component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="Commander">
<favorites_list name="Portal" />
</component>
<component name="FileEditorManager">
- <leaf>
- <file leaf-file-name="show.gsp" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/grails-app/views/display/show.gsp">
- <provider selected="true" editor-type-id="text-editor">
- <state line="16" column="27" selection-start="283" selection-end="283" vertical-scroll-proportion="2.2641509">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="BootStrap.groovy" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/grails-app/conf/BootStrap.groovy">
- <provider selected="true" editor-type-id="text-editor">
- <state line="14" column="108" selection-start="778" selection-end="778" vertical-scroll-proportion="0.0">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="Attachment.groovy" pinned="false" current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/grails-app/domain/Attachment.groovy">
- <provider editor-type-id="org.jetbrains.plugins.grails.perspectives.DomainClassesRelationsEditorProvider">
- <state />
- </provider>
- <provider selected="true" editor-type-id="text-editor">
- <state line="14" column="0" selection-start="304" selection-end="304" vertical-scroll-proportion="0.44585988">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="PageController.groovy" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/grails-app/controllers/PageController.groovy">
- <provider selected="true" editor-type-id="text-editor">
- <state line="11" column="34" selection-start="359" selection-end="359" vertical-scroll-proportion="-2.419355">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="Page.groovy" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/grails-app/domain/Page.groovy">
- <provider editor-type-id="org.jetbrains.plugins.grails.perspectives.DomainClassesRelationsEditorProvider">
- <state />
- </provider>
- <provider selected="true" editor-type-id="text-editor">
- <state line="19" column="17" selection-start="361" selection-end="361" vertical-scroll-proportion="-5.5882354">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="DisplayController.groovy" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/grails-app/controllers/DisplayController.groovy">
- <provider selected="true" editor-type-id="text-editor">
- <state line="18" column="4" selection-start="298" selection-end="298" vertical-scroll-proportion="-8.709678">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- </leaf>
+ <leaf />
</component>
<component name="FindManager">
<FindUsagesManager>
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/grails-app/conf/BootStrap.groovy" root0="SKIP_HIGHLIGHTING" />
+ <setting file="file://$PROJECT_DIR$/grails-app/views/page/show.gsp" root0="FORCE_HIGHLIGHTING" root1="SKIP_INSPECTION" root2="SKIP_INSPECTION" />
</component>
<component name="MavenRunner">
<option name="jreName" value="#JAVA_INTERNAL" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="web-app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="web-app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="css" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="web-app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="css" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="grey" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="grails-app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="views" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Portal" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId" value="grails-app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<option name="myItemId" value="views" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="page" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="layouts" />
+ <option name="myItemId" value="news" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="display" />
+ <option name="myItemId" value="layouts" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<property name="options.splitter.main.proportions" value="0.3" />
<property name="RunManagerConfig.showSettingsBeforeRunnig" value="false" />
<property name="MemberChooser.sorted" value="false" />
- <property name="options.lastSelected" value="project.propVCSSupport.Mappings" />
+ <property name="options.lastSelected" value="preferences.keymap" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="MemberChooser.copyJavadoc" value="false" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method>
- <option name="Make" value="true" />
+ <option name="Make" value="false" />
</method>
</configuration>
<list size="1">
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" />
<window_info id="Dataflow to this" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
- <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32971016" sideWeight="0.5" order="7" side_tool="false" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
- <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" />
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32971016" sideWeight="0.5" order="6" side_tool="false" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" />
<window_info id="Grails" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32850242" sideWeight="0.0" order="7" side_tool="false" />
- <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32965687" sideWeight="0.6630435" order="0" side_tool="false" />
+ <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32965687" sideWeight="0.65458935" order="0" side_tool="false" />
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" />
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32850242" sideWeight="0.5" order="2" side_tool="false" />
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.33695653" sideWeight="0.5" order="2" side_tool="false" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" />
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/grails-app/views/attachment/list.gsp">
+ <entry file="file://$PROJECT_DIR$/grails-app/views/attachment/show.gsp">
<provider selected="true" editor-type-id="text-editor">
- <state line="44" column="140" selection-start="2013" selection-end="2123" vertical-scroll-proportion="-3.471698">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="11.6603775">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/views/attachment/show.gsp">
+ <entry file="file://$PROJECT_DIR$/grails-app/views/news/show.gsp">
<provider selected="true" editor-type-id="text-editor">
- <state line="52" column="136" selection-start="2292" selection-end="2292" vertical-scroll-proportion="-3.1886792">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/controllers/AttachmentController.groovy">
+ <entry file="file://$PROJECT_DIR$/grails-app/domain/Attachment.groovy">
+ <provider editor-type-id="org.jetbrains.plugins.grails.perspectives.DomainClassesRelationsEditorProvider">
+ <state />
+ </provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="104" column="54" selection-start="3339" selection-end="3339" vertical-scroll-proportion="-11.967742">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/views/attachment/create.gsp">
+ <entry file="file://$PROJECT_DIR$/grails-app/conf/BootStrap.groovy">
<provider selected="true" editor-type-id="text-editor">
- <state line="44" column="38" selection-start="2233" selection-end="2233" vertical-scroll-proportion="-3.1132076">
+ <state line="9" column="93" selection-start="358" selection-end="358" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/views/display/index.gsp">
+ <entry file="file://$PROJECT_DIR$/web-app/css/grey/screen.css">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="30" selection-start="265" selection-end="265" vertical-scroll-proportion="0.31982943">
+ <state line="83" column="20" selection-start="3922" selection-end="3922" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/controllers/DisplayController.groovy">
+ <entry file="file://$PROJECT_DIR$/grails-app/views/page/display.gsp">
<provider selected="true" editor-type-id="text-editor">
- <state line="18" column="4" selection-start="298" selection-end="298" vertical-scroll-proportion="-8.709678">
+ <state line="21" column="49" selection-start="531" selection-end="531" vertical-scroll-proportion="-5.943396">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/domain/Page.groovy">
- <provider editor-type-id="org.jetbrains.plugins.grails.perspectives.DomainClassesRelationsEditorProvider">
- <state />
- </provider>
+ <entry file="file://$PROJECT_DIR$/grails-app/views/page/show.gsp">
<provider selected="true" editor-type-id="text-editor">
- <state line="19" column="17" selection-start="361" selection-end="361" vertical-scroll-proportion="-5.5882354">
+ <state line="48" column="158" selection-start="2129" selection-end="2129" vertical-scroll-proportion="-5.3773584">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/controllers/PageController.groovy">
+ <entry file="file://$PROJECT_DIR$/grails-app/views/layouts/grey.gsp">
<provider selected="true" editor-type-id="text-editor">
- <state line="11" column="34" selection-start="359" selection-end="359" vertical-scroll-proportion="-2.419355">
+ <state line="23" column="33" selection-start="821" selection-end="821" vertical-scroll-proportion="-1.6415094">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/views/layouts/blue_theme.gsp">
+ <entry file="file://$PROJECT_DIR$/grails-app/domain/Page.groovy">
+ <provider editor-type-id="org.jetbrains.plugins.grails.perspectives.DomainClassesRelationsEditorProvider">
+ <state />
+ </provider>
<provider selected="true" editor-type-id="text-editor">
- <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+ <state line="31" column="5" selection-start="571" selection-end="571" vertical-scroll-proportion="-9.117647">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/views/layouts/main.gsp">
+ <entry file="file://$PROJECT_DIR$/grails-app/controllers/NewsController.groovy">
<provider selected="true" editor-type-id="text-editor">
- <state line="2" column="22" selection-start="40" selection-end="40" vertical-scroll-proportion="-0.5660377">
+ <state line="99" column="2" selection-start="3144" selection-end="3144" vertical-scroll-proportion="-11.645162">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/views/layouts/admin.gsp">
+ <entry file="file://$PROJECT_DIR$/grails-app/views/admin.gsp">
<provider selected="true" editor-type-id="text-editor">
- <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+ <state line="8" column="28" selection-start="206" selection-end="206" vertical-scroll-proportion="-5.4545455">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/conf/BootStrap.groovy">
+ <entry file="file://$PROJECT_DIR$/grails-app/views/index.gsp">
<provider selected="true" editor-type-id="text-editor">
- <state line="14" column="108" selection-start="778" selection-end="778" vertical-scroll-proportion="0.0">
+ <state line="5" column="2" selection-start="113" selection-end="113" vertical-scroll-proportion="-3.409091">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/views/display/show.gsp">
+ <entry file="file://$PROJECT_DIR$/grails-app/controllers/PageController.groovy">
<provider selected="true" editor-type-id="text-editor">
- <state line="16" column="27" selection-start="283" selection-end="283" vertical-scroll-proportion="2.2641509">
+ <state line="110" column="0" selection-start="3063" selection-end="3063" vertical-scroll-proportion="-20.35484">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/grails-app/domain/Attachment.groovy">
- <provider editor-type-id="org.jetbrains.plugins.grails.perspectives.DomainClassesRelationsEditorProvider">
- <state />
- </provider>
+ <entry file="file://$PROJECT_DIR$/grails-app/controllers/AttachmentController.groovy">
<provider selected="true" editor-type-id="text-editor">
- <state line="14" column="0" selection-start="304" selection-end="304" vertical-scroll-proportion="0.44585988">
+ <state line="5" column="38" selection-start="193" selection-end="193" vertical-scroll-proportion="-0.9677419">
<folding />
</state>
</provider>
</option>
</SplitterProportionsDataImpl>
</option>
- <option name="lastEditedConfigurable" value="Default|IDE Profiles" />
+ <option name="lastEditedConfigurable" value="NoInspections|Project Profiles" />
</UIState>
</value>
</entry>
</option>
</SplitterProportionsDataImpl>
</option>
- <option name="lastEditedConfigurable" value="Default|IDE Profiles" />
+ <option name="lastEditedConfigurable" value="NoInspections|Project Profiles" />
</UIState>
</value>
</entry>
def init = { servletContext ->
+ // initialize configuration
+ def config = new PortalConfiguration(title: "Schnuppe Portal", motto: "A new star is born", theme: "grey")
+ assert config.save()
+
+ // some top level pages
def root1 = new Page(title: "root1", author: "sven", language: "de", content: "Root 1")
def root2 = new Page(title: "root2", author: "sven", language: "de", content: "Root 2")
def root3 = new Page(title: "root3", author: "sven", language: "de", content: "Root 3")
-
assert root1.save()
assert root2.save()
assert root3.save()
+ // some second level pages
def child3 = new Page(title:"child3", author: "sven", language: "de", content: "child3", ordinal: 3, parent: root1)
def child2 = new Page(title:"child2", author: "sven", language: "de", content: "child2", ordinal: 2, parent: root1)
def child1 = new Page(title:"child1", author: "sven", language: "de", content: "child1", ordinal: 1, parent: root1)
-
assert child1.save()
assert child2.save()
assert child3.save()
+
+ // a controller page with some news
+// def news1 = new News(content: "Portal Applicaton created.")
+// def news2 = new News(content: "Portal Application instantiated.")
+// assert news1.save()
+// assert news2.save()
+// def newsPage = new Page(title: "News", author: "Sven", language: "de", content: "", controller: "news", parent: root2)
+// assert newsPage.save()
}
def destroy = {
def index = { redirect(action: list, params: params) }
// the delete, save and update actions only accept POST requests
- static allowedMethods = [delete: 'POST', save: 'POST', update: 'POST']
+ static allowedMethods = [delete: 'POT', save: 'POST', update: 'POST']
def list = {
params.max = Math.min(params.max ? params.max.toInteger() : 10, 100)
return ['attachmentInstance': attachmentInstance]
}
+ // set content type from file
def save = {
def attachmentInstance = new Attachment(params)
}
}
+ // send binary data with content type to output stream
def showAttachment = {
def attachmentInstance = Attachment.get(params.id)
response.setContentType(attachmentInstance.contentType)
+class PageController {
+ def index = { redirect(action: list, params: params) }
-class PageController {
-
- def index = { redirect(action:list,params:params) }
+ // the delete, save and update actions only accept POST requests
+ static allowedMethods = [delete: 'POST', save: 'POST', update: 'POST']
- // the delete, save and update actions only accept POST requests
- static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+ def list = {
+ params.max = Math.min(params.max ? params.max.toInteger() : 10, 100)
+ [pageInstanceList: Page.list(params), pageInstanceTotal: Page.count()]
+ }
- def list = {
- params.max = Math.min( params.max ? params.max.toInteger() : 10, 100)
- [ pageInstanceList: Page.list( params ), pageInstanceTotal: Page.count() ]
+ def show = {
+ def pageInstance = Page.get(params.id)
+
+ if (!pageInstance) {
+ flash.message = "Page not found with id ${params.id}"
+ redirect(action: list)
}
+ else { return [pageInstance: pageInstance] }
+ }
- def show = {
- def pageInstance = Page.get( params.id )
- if(!pageInstance) {
- flash.message = "Page not found with id ${params.id}"
- redirect(action:list)
- }
- else { return [ pageInstance : pageInstance ] }
+ def delete = {
+ def pageInstance = Page.get(params.id)
+ if (pageInstance) {
+ try {
+ pageInstance.delete()
+ flash.message = "Page ${params.id} deleted"
+ redirect(action: list)
+ }
+ catch (org.springframework.dao.DataIntegrityViolationException e) {
+ flash.message = "Page ${params.id} could not be deleted"
+ redirect(action: show, id: params.id)
+ }
}
-
- def delete = {
- def pageInstance = Page.get( params.id )
- if(pageInstance) {
- try {
- pageInstance.delete()
- flash.message = "Page ${params.id} deleted"
- redirect(action:list)
- }
- catch(org.springframework.dao.DataIntegrityViolationException e) {
- flash.message = "Page ${params.id} could not be deleted"
- redirect(action:show,id:params.id)
- }
- }
- else {
- flash.message = "Page not found with id ${params.id}"
- redirect(action:list)
- }
+ else {
+ flash.message = "Page not found with id ${params.id}"
+ redirect(action: list)
}
+ }
- def edit = {
- def pageInstance = Page.get( params.id )
+ def edit = {
+ def pageInstance = Page.get(params.id)
- if(!pageInstance) {
- flash.message = "Page not found with id ${params.id}"
- redirect(action:list)
- }
- else {
- return [ pageInstance : pageInstance ]
- }
+ if (!pageInstance) {
+ flash.message = "Page not found with id ${params.id}"
+ redirect(action: list)
+ }
+ else {
+ return [pageInstance: pageInstance]
}
+ }
- def update = {
- def pageInstance = Page.get( params.id )
- if(pageInstance) {
- if(params.version) {
- def version = params.version.toLong()
- if(pageInstance.version > version) {
-
- pageInstance.errors.rejectValue("version", "page.optimistic.locking.failure", "Another user has updated this Page while you were editing.")
- render(view:'edit',model:[pageInstance:pageInstance])
- return
- }
- }
- pageInstance.properties = params
- if(!pageInstance.hasErrors() && pageInstance.save()) {
- flash.message = "Page ${params.id} updated"
- redirect(action:show,id:pageInstance.id)
- }
- else {
- render(view:'edit',model:[pageInstance:pageInstance])
- }
- }
- else {
- flash.message = "Page not found with id ${params.id}"
- redirect(action:edit,id:params.id)
+ def update = {
+ def pageInstance = Page.get(params.id)
+ if (pageInstance) {
+ if (params.version) {
+ def version = params.version.toLong()
+ if (pageInstance.version > version) {
+
+ pageInstance.errors.rejectValue("version", "page.optimistic.locking.failure", "Another user has updated this Page while you were editing.")
+ render(view: 'edit', model: [pageInstance: pageInstance])
+ return
}
+ }
+ pageInstance.properties = params
+ if (!pageInstance.hasErrors() && pageInstance.save()) {
+ flash.message = "Page ${params.id} updated"
+ redirect(action: show, id: pageInstance.id)
+ }
+ else {
+ render(view: 'edit', model: [pageInstance: pageInstance])
+ }
+ }
+ else {
+ flash.message = "Page not found with id ${params.id}"
+ redirect(action: edit, id: params.id)
}
+ }
- def create = {
- def pageInstance = new Page()
- pageInstance.properties = params
- return ['pageInstance':pageInstance]
+ def create = {
+ def pageInstance = new Page()
+ pageInstance.properties = params
+ return ['pageInstance': pageInstance]
+ }
+
+ def save = {
+ def pageInstance = new Page(params)
+ if (!pageInstance.hasErrors() && pageInstance.save()) {
+ flash.message = "Page ${pageInstance.id} created"
+ redirect(action: show, id: pageInstance.id)
+ }
+ else {
+ render(view: 'create', model: [pageInstance: pageInstance])
}
+ }
- def save = {
- def pageInstance = new Page(params)
- if(!pageInstance.hasErrors() && pageInstance.save()) {
- flash.message = "Page ${pageInstance.id} created"
- redirect(action:show,id:pageInstance.id)
- }
- else {
- render(view:'create',model:[pageInstance:pageInstance])
- }
+ def display = {
+
+ def pageInstance = Page.get(params.id)
+
+ if (!pageInstance) {
+ flash.message = "Page not found with id ${params.id}"
+ redirect(action: list)
}
+ else {
+// if (pageInstance instanceof ControllerPage) {
+// redirect(controller: pageInstance.controller, action: 'list')
+// }
+
+ return [pageInstance: pageInstance]
+ }
+ }
+
}
class Page implements Comparable {
+ // Create inheritance if it is fixed in GRAILS!
+
+ // Page members
String title
+ Page parent
+ long ordinal
+
+ // HtmlPage members
String author
String language
String content
- Page parent
- long ordinal
+ // ControllerPage members
+ //String controller
- static hasMany = [attachments: Attachment]
-
static constraints = {
title(nullable: false, unique:true)
- author(nullable: false)
- language()
parent(nullable: true)
ordinal()
- content()
- attachments()
+ author(nullable: false)
+ language(nullable:true)
+ content(nullable:true)
+// controller(nullable:true)
}
-
+
int compareTo(obj) {
ordinal.compareTo(obj.ordinal)
}
+ def findRoot() {
+ if (parent)
+ return parent.findRoot()
+ else
+ return this
+ }
+
+ boolean isAncestor(Page page) {
+ if (parent == page)
+ return true
+ else if (parent == null)
+ return false
+ else
+ return parent.isAncestor(page)
+ }
+
+// boolean isController() {
+// (controller && !controller.isEmpty())
+// }
}
<html>\r
<head>\r
- <title>Welcome to Grails</title>\r
+ <title>Portal Administration Home</title>\r
<meta name="layout" content="main" />\r
</head>\r
<body>\r
- <h1 style="margin-left:20px;">Welcome to Grails</h1>\r
- <p style="margin-left:20px;width:80%">Congratulations, you have successfully started your first Grails application! At the moment\r
- this is the default page, feel free to modify it to either redirect to a controller or display whatever\r
- content you may choose. Below is a list of controllers that are currently deployed in this application,\r
- click on each to execute its default action:</p>\r
- <div class="dialog" style="margin-left:20px;width:60%;">\r
+ <div class="dialog" >\r
<ul>\r
<g:each var="c" in="${grailsApplication.controllerClasses}">\r
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link></li>\r
<html>
- <head>
- <title><g:layoutTitle default="Portal" /></title>
- <link rel="stylesheet" href="${createLinkTo(dir:'css',file:'main.css')}" />
- <link rel="shortcut icon" href="${createLinkTo(dir:'images',file:'favicon.ico')}" type="image/x-icon" />
- <g:layoutHead />
- <g:javascript library="application" />
- </head>
- <body>
- <div id="spinner" class="spinner" style="display:none;">
- <img src="${createLinkTo(dir:'images',file:'spinner.gif')}" alt="Spinner" />
- </div>
- <div class="logo"><img src="${createLinkTo(dir:'images',file:'grails_logo.jpg')}" alt="Grails" /></div>
- <g:layoutBody />
- </body>
+<head>
+ <title><g:layoutTitle default="Portal"/></title>
+ <link rel="stylesheet" href="${resource(dir: 'css/blueprint', file: 'screen.css')}" type="text/css" media="screen, projection"/>
+ <link rel="stylesheet" href="${resource(dir: 'css/blueprint', file: 'print.css')}" type="text/css" media="print"/>
+ <!--[if IE]><link rel="stylesheet" href="${resource(dir: 'css', file: 'ie.css')}" type="text/css" media="screen, projection"><![endif]-->
+
+ <link rel="shortcut icon" href="${resource(dir: 'images', file: 'favicon.ico')}" type="image/x-icon"/>
+ <g:layoutHead/>
+ <g:javascript library="application"/>
+</head>
+<body>
+<div id="spinner" class="spinner" style="display:none;">
+ <img src="${resource(dir: 'images', file: 'spinner.gif')}" alt="Spinner"/>
+</div>
+
+<div class="header first span-24 last">
+ <h1>The Portal Header</h1>
+</div>
+
+<div class="first span-24 last">
+ <h1>
+ <g:pageProperty name="page.roots"/>
+ </h1>
+</div>
+
+<div class="first span-24 last">
+ <h2>
+ <g:pageProperty name="page.siblings"/>
+ </h2>
+</div>
+
+<div class="first span-24 last">
+ <h3>
+ <g:pageProperty name="page.children"/>
+ </h3>
+</div>
+
+<div class="first span-24 last">
+ <div style="border: solid thin black">
+ <g:pageProperty name="page.content"/>
+ </div>
+</div>
+
+<div class="first span-24 last footer">
+ <h4>The Footer</h4>
+</div>
+</body>
</html>
\ No newline at end of file
<html>
<head>
<title><g:layoutTitle default="Portal"/></title>
- <link rel="stylesheet" href="${resource(dir: 'css/blueprint', file: 'screen.css')}" type="text/css" media="screen, projection"/>
- <link rel="stylesheet" href="${resource(dir: 'css/blueprint', file: 'print.css')}" type="text/css" media="print"/>
- <!--[if IE]><link rel="stylesheet" href="${resource(dir: 'css', file: 'ie.css')}" type="text/css" media="screen, projection"><![endif]-->
-
+ <link rel="stylesheet" href="${resource(dir: 'css/grey', file: 'screen.css')}" type="text/css" media="screen, projection"/>
<link rel="shortcut icon" href="${resource(dir: 'images', file: 'favicon.ico')}" type="image/x-icon"/>
<g:layoutHead/>
<g:javascript library="application"/>
<img src="${resource(dir: 'images', file: 'spinner.gif')}" alt="Spinner"/>
</div>
-<div class="header first span-24 last">
- <h1>The Portal Header</h1>
-</div>
+<div class="header"><h1>The Portal Header</h1></div>
-<div class="first span-24 last">
- <h1>
- <g:pageProperty name="page.roots"/>
- </h1>
+<div class="navigation">
+ <g:each var="root" in='${Page.findAll("from Page as p where p.parent=NULL")}'>
+ <g:link action="display" id="${root.id}">${root.title}</g:link> |
+ </g:each>
</div>
-<div class="first span-24 last">
- <h2>
- <g:pageProperty name="page.siblings"/>
- </h2>
-</div>
+<div class="subnavigation">
+
+ <g:if test="${pageInstance}">
+
+ <g:each var="child1" in="${Page.findAllWhere(parent: pageInstance.findRoot())}">
+ <g:if test="${pageInstance.isAncestor(child1)}">
+ <div class="subsubnavigation">
+ <em>${child1.title}</em>
+ <g:each var="child2" in="${Page.findAllByParent(child1)}">
+ <g:link action="display" id="${child2.id}">${child2.title}</g:link>
+ </g:each>
+ </div>
+ </g:if>
+ <g:else>
+ <g:link action="display" id="${child1.id}">${child1.title}</g:link> <br/>
+ </g:else>
+ </g:each>
+ </g:if>
-<div class="first span-24 last">
- <h3>
- <g:pageProperty name="page.children"/>
- </h3>
</div>
-<div class="first span-24 last">
- <div style="border: solid thin black">
- <g:pageProperty name="page.content"/>
- </div>
+
+<div class="content">
+ <h1>${pageInstance?.title}</h1>
+ <g:layoutBody/>
</div>
-<div class="first span-24 last footer">
- <h4>The Footer</h4>
+<div class="footer">
+ Legal Notice | Contact
</div>
</body>
</html>
\ No newline at end of file
-<%--
- Created by IntelliJ IDEA.
- User: sven
- Date: 12.04.2009
- Time: 17:13:54
- To change this template use File | Settings | File Templates.
---%>
-
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
- <head><title>Simple GSP page</title></head>
- <body>Place your content here</body>
+
+<head>
+ <title>${pageInstance?.title}</title>
+ <meta name="layout" content="${PortalConfiguration.findAll()[0].theme}"/>
+</head>
+
+<body>
+
+<g:if test="${flash.message}">
+ <div class="message">${flash.message}</div>
+</g:if>
+
+ %{--<g:if test="${pageInstance instanceof ControllerPage}">--}%
+ %{--ControllerPage!!!--}%
+ %{--</g:if>--}%
+ %{--<g:elseif test="${pageInstance instanceof HtmlPage}">--}%
+ ${pageInstance?.content}
+ %{--</g:elseif>--}%
+%{--<g:else>--}%
+ %{--Something else - no ControllerPage, no HtmlPage--}%
+%{--</g:else>--}%
+
+</body>
</html>
\ No newline at end of file
+/* reset.css */
+html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
+body {line-height:1.5;}
+table {border-collapse:separate;border-spacing:0;}
+caption, th, td {text-align:left;font-weight:normal;}
+table, td, th {vertical-align:middle;}
+blockquote:before, blockquote:after, q:before, q:after {content:"";}
+blockquote, q {quotes:"" "";}
+a img {border:none;}
+
+/* typography.css */
+body {font-size:75%;color:#fff;background:#9c9d9f;font-family:"Verdana", "Helvetica Neue", Helvetica, sans-serif;}
+h1, h2, h3, h4, h5, h6 {font-weight:normal; color:#fff;}
+h1 {font-size:2.5em;margin-bottom:0.5em;}
+h2 {font-size:2em;margin-bottom:0.75em;}
+h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
+h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
+h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
+h6 {font-size:1em;font-weight:bold;}
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
+p {margin:0 0 1.5em;}
+p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
+p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
+a:focus, a:hover {color:#000;}
+a {color: inherit; text-decoration: none;}
+blockquote {margin:1.5em;color:#666;font-style:italic;}
+strong {font-weight:bold;}
+em, dfn {font-style:italic;}
+dfn {font-weight:bold;}
+sup, sub {line-height:0;}
+abbr, acronym {border-bottom:1px dotted #666;}
+address {margin:0 0 1.5em;font-style:italic;}
+del {color:#666;}
+pre {margin:1.5em 0;white-space:pre;}
+pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
+li ul, li ol {margin:0 1.5em;}
+ul, ol {margin:0 1.5em 1.5em 1.5em;}
+ul {list-style-type:disc;}
+ol {list-style-type:decimal;}
+dl {margin:0 0 1.5em 0;}
+dl dt {font-weight:bold;}
+dd {margin-left:1.5em;}
+table {margin-bottom:1.4em;width:100%;}
+th {font-weight:bold;}
+thead th {background:#c3d9ff;}
+th, td, caption {padding:4px 10px 4px 5px;}
+tr.even td {background:#e5ecf9;}
+tfoot {font-style:italic;}
+caption {background:#eee;}
+.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
+.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
+.hide {display:none;}
+.quiet {color:#666;}
+.loud {color:#000;}
+.highlight {background:#ff0;}
+.added {background:#060;color:#fff;}
+.removed {background:#900;color:#fff;}
+.first {margin-left:0;padding-left:0;}
+.last {margin-right:0;padding-right:0;}
+.top {margin-top:0;padding-top:0;}
+.bottom {margin-bottom:0;padding-bottom:0;}
+
+/* forms.css */
+label {font-weight:bold;}
+fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
+legend {font-weight:bold;font-size:1.2em;}
+input.text, input.title, textarea, select {margin:0.5em 0;border:1px solid #bbb;}
+input.text:focus, input.title:focus, textarea:focus, select:focus {border:1px solid #666;}
+input.text, input.title {width:300px;padding:5px;}
+input.title {font-size:1.5em;}
+textarea {width:390px;height:250px;padding:5px;}
+.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
+.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
+.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
+.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
+.error a {color:#8a1f11;}
+.notice a {color:#514721;}
+.success a {color:#264409;}
+
+/* main layout */
+div.header {border-bottom: solid thin black; background-color: #ccddee; width: 100%; font-size:150%; text-align: center}
+div.navigation {background-color: #eeddcc; border: dotted thin black; width: 100%; font-size:150%;}
+div.subnavigation {background-color: #ddccbb; border: solid thin red; width: 20%; height: 80%; float: left; font-size: 130%; clear: top}
+div.subsubnavigation {background-color: #ccbbaa; border-bottom: solid thin black; width: 20%; font-size: 110%; }
+div.content {background-color: #ffffff; color: #000000; border: solid thin red; height: 80%;}
+div.content h1 {color: #000000}
+div.footer {background-color: #000000; width:100%; text-align: center; clear: both}