Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
This commit is contained in:
commit
fd42af1ac4
|
@ -209,16 +209,16 @@ java.lang.UnsupportedOperationException: Not supported yet.
|
||||||
at com.aptana.index.core.IndexRequestJob.indexFileStores(IndexRequestJob.java:205)
|
at com.aptana.index.core.IndexRequestJob.indexFileStores(IndexRequestJob.java:205)
|
||||||
at com.aptana.index.core.IndexContainerJob.run(IndexContainerJob.java:114)
|
at com.aptana.index.core.IndexContainerJob.run(IndexContainerJob.java:114)
|
||||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
|
||||||
!SESSION 2015-01-05 10:21:34.093 -----------------------------------------------
|
!SESSION 2015-01-17 11:30:30.655 -----------------------------------------------
|
||||||
eclipse.buildId=unknown
|
eclipse.buildId=unknown
|
||||||
java.version=1.6.0_24
|
java.version=1.6.0_24
|
||||||
java.vendor=Sun Microsystems Inc.
|
java.vendor=Sun Microsystems Inc.
|
||||||
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
|
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
|
||||||
Command-line arguments: -os win32 -ws win32 -arch x86
|
Command-line arguments: -os win32 -ws win32 -arch x86
|
||||||
|
|
||||||
!ENTRY org.eclipse.core.resources 4 567 2015-01-05 10:21:56.435
|
!ENTRY org.eclipse.core.resources 4 567 2015-01-17 11:30:37.624
|
||||||
!MESSAGE Workspace restored, but some problems occurred.
|
!MESSAGE Workspace restored, but some problems occurred.
|
||||||
!SUBENTRY 1 org.eclipse.core.resources 4 567 2015-01-05 10:21:56.435
|
!SUBENTRY 1 org.eclipse.core.resources 4 567 2015-01-17 11:30:37.624
|
||||||
!MESSAGE Could not read metadata for 'demo'.
|
!MESSAGE Could not read metadata for 'demo'.
|
||||||
!STACK 1
|
!STACK 1
|
||||||
org.eclipse.core.internal.resources.ResourceException: The project description file (.project) for 'demo' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
|
org.eclipse.core.internal.resources.ResourceException: The project description file (.project) for 'demo' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
|
||||||
|
@ -261,59 +261,8 @@ org.eclipse.core.internal.resources.ResourceException: The project description f
|
||||||
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
|
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
|
||||||
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
|
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
|
||||||
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
|
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
|
||||||
!SUBENTRY 2 org.eclipse.core.resources 4 567 2015-01-05 10:21:56.435
|
!SUBENTRY 2 org.eclipse.core.resources 4 567 2015-01-17 11:30:37.626
|
||||||
!MESSAGE The project description file (.project) for 'demo' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
|
!MESSAGE The project description file (.project) for 'demo' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
|
||||||
|
|
||||||
!ENTRY com.aptana.terminal 1 0 2015-01-05 10:22:03.546
|
!ENTRY org.eclipse.core.jobs 2 2 2015-01-17 11:33:58.913
|
||||||
!MESSAGE Starting terminal process failed.
|
|
||||||
!STACK 1
|
|
||||||
org.eclipse.core.runtime.CoreException: Shell executable could not be found.
|
|
||||||
at com.aptana.core.ShellExecutable.getPath(ShellExecutable.java:113)
|
|
||||||
at com.aptana.terminal.internal.configurations.WindowsMingwConfiguration.getCommandLine(WindowsMingwConfiguration.java:40)
|
|
||||||
at com.aptana.terminal.internal.ProcessLauncher.launch(ProcessLauncher.java:38)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector.startProcess(LocalTerminalConnector.java:220)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector.access$0(LocalTerminalConnector.java:208)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector$1.run(LocalTerminalConnector.java:102)
|
|
||||||
!SUBENTRY 1 com.aptana.core 4 0 2015-01-05 10:22:03.546
|
|
||||||
!MESSAGE Shell executable could not be found.
|
|
||||||
|
|
||||||
!ENTRY org.eclipse.core.jobs 2 2 2015-01-05 10:27:30.988
|
|
||||||
!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl$1
|
|
||||||
|
|
||||||
!ENTRY org.eclipse.core.jobs 2 2 2015-01-05 10:27:30.989
|
|
||||||
!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: com.aptana.usage.internal.DefaultAnalyticsEventHandler$1
|
!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: com.aptana.usage.internal.DefaultAnalyticsEventHandler$1
|
||||||
!SESSION 2015-01-05 10:27:31.720 -----------------------------------------------
|
|
||||||
eclipse.buildId=3.4.2.201308081805
|
|
||||||
java.version=1.6.0_24
|
|
||||||
java.vendor=Sun Microsystems Inc.
|
|
||||||
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
|
|
||||||
Command-line arguments: -os win32 -ws win32 -arch x86
|
|
||||||
|
|
||||||
!ENTRY com.aptana.terminal 1 0 2015-01-05 10:27:34.915
|
|
||||||
!MESSAGE Starting terminal process failed.
|
|
||||||
!STACK 1
|
|
||||||
org.eclipse.core.runtime.CoreException: Shell executable could not be found.
|
|
||||||
at com.aptana.core.ShellExecutable.getPath(ShellExecutable.java:113)
|
|
||||||
at com.aptana.terminal.internal.configurations.WindowsMingwConfiguration.getCommandLine(WindowsMingwConfiguration.java:40)
|
|
||||||
at com.aptana.terminal.internal.ProcessLauncher.launch(ProcessLauncher.java:38)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector.startProcess(LocalTerminalConnector.java:220)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector.access$0(LocalTerminalConnector.java:208)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector$1.run(LocalTerminalConnector.java:102)
|
|
||||||
!SUBENTRY 1 com.aptana.core 4 0 2015-01-05 10:27:34.915
|
|
||||||
!MESSAGE Shell executable could not be found.
|
|
||||||
|
|
||||||
!ENTRY com.aptana.terminal 1 0 2015-01-05 10:27:37.984
|
|
||||||
!MESSAGE Starting terminal process failed.
|
|
||||||
!STACK 1
|
|
||||||
org.eclipse.core.runtime.CoreException: Shell executable could not be found.
|
|
||||||
at com.aptana.core.ShellExecutable.getPath(ShellExecutable.java:113)
|
|
||||||
at com.aptana.terminal.internal.configurations.WindowsMingwConfiguration.getCommandLine(WindowsMingwConfiguration.java:40)
|
|
||||||
at com.aptana.terminal.internal.ProcessLauncher.launch(ProcessLauncher.java:38)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector.startProcess(LocalTerminalConnector.java:220)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector.access$0(LocalTerminalConnector.java:208)
|
|
||||||
at com.aptana.terminal.connector.LocalTerminalConnector$1.run(LocalTerminalConnector.java:102)
|
|
||||||
!SUBENTRY 1 com.aptana.core 4 0 2015-01-05 10:27:37.984
|
|
||||||
!MESSAGE Shell executable could not be found.
|
|
||||||
|
|
||||||
!ENTRY org.eclipse.core.jobs 2 2 2015-01-05 10:27:55.438
|
|
||||||
!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl$1
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<connections/>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<connection>
|
|
||||||
<connection>
|
|
||||||
<name>Default</name>
|
|
||||||
<source>file:/C:/Users/Administrator</source>
|
|
||||||
</connection>
|
|
||||||
</connection>
|
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<sites/>
|
|
|
@ -1,6 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<servers>
|
|
||||||
<server host="0.0.0.0" port="3000" project="E:/code/demo" type="org.radrails.rails.railsServer">
|
|
||||||
<name>demo</name>
|
|
||||||
</server>
|
|
||||||
</servers>
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,2 +1,2 @@
|
||||||
activeProject=demo
|
activeProject=trustie
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
ACTIVE_HYPERLINK_COLOR=84,143,160
|
ACTIVE_HYPERLINK_COLOR=84,143,160
|
||||||
ACTIVE_THEME=Aptana Studio
|
ACTIVE_THEME=Aptana Studio
|
||||||
HYPERLINK_COLOR=84,143,160
|
HYPERLINK_COLOR=84,143,160
|
||||||
THEME_CHANGED=1420424854199
|
THEME_CHANGED=1421465443240
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
hyperlinkColor=84,143,160
|
hyperlinkColor=84,143,160
|
||||||
hyperlinkColor.SystemDefault=false
|
hyperlinkColor.SystemDefault=false
|
||||||
|
|
|
@ -2,6 +2,6 @@ PROBLEMS_FILTERS_MIGRATE=true
|
||||||
SHOW_COOLBAR=true
|
SHOW_COOLBAR=true
|
||||||
SHOW_PERSPECTIVEBAR=true
|
SHOW_PERSPECTIVEBAR=true
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
platformState=1420424495377
|
platformState=1420528131671
|
||||||
quickStart=false
|
quickStart=false
|
||||||
tipsAndTricks=true
|
tipsAndTricks=true
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<booleanAttribute key="advancedRunEnabled" value="false"/>
|
<booleanAttribute key="advancedRunEnabled" value="false"/>
|
||||||
<booleanAttribute key="appendProjectName" value="true"/>
|
<booleanAttribute key="appendProjectName" value="true"/>
|
||||||
<stringAttribute key="browserCmdLine" value=""/>
|
<stringAttribute key="browserCmdLine" value=""/>
|
||||||
<stringAttribute key="browserExecutable" value=""/>
|
<stringAttribute key="browserExecutable" value="C:\Program Files (x86)\Mozilla Firefox\firefox.exe"/>
|
||||||
<stringAttribute key="browserNature" value="Firefox"/>
|
<stringAttribute key="browserNature" value="Firefox"/>
|
||||||
<stringAttribute key="externalBaseUrl" value=""/>
|
<stringAttribute key="externalBaseUrl" value=""/>
|
||||||
<stringAttribute key="httpGetData" value=""/>
|
<stringAttribute key="httpGetData" value=""/>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<workbench progressCount="23" version="2.0">
|
<workbench progressCount="26" version="2.0">
|
||||||
<workbenchAdvisor/>
|
<workbenchAdvisor/>
|
||||||
<window height="940" maximized="true" width="1200" x="13" y="31">
|
<window height="940" maximized="true" width="1200" x="13" y="31">
|
||||||
<fastViewData fastViewLocation="1024"/>
|
<fastViewData fastViewLocation="1024"/>
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
<view id="com.aptana.terminal.views.terminal:demo" partName="demo">
|
<view id="com.aptana.terminal.views.terminal:demo" partName="demo">
|
||||||
<viewState>
|
<viewState>
|
||||||
<title>demo</title>
|
<title>demo</title>
|
||||||
<workingDirectory>C:\Users\Administrator</workingDirectory>
|
<workingDirectory>C:\Users\zh</workingDirectory>
|
||||||
</viewState>
|
</viewState>
|
||||||
</view>
|
</view>
|
||||||
<view id="com.aptana.snippets.ui.views.SnippetsView" partName="Snippets">
|
<view id="com.aptana.snippets.ui.views.SnippetsView" partName="Snippets">
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
<view id="com.aptana.terminal.views.terminal" partName="Terminal">
|
<view id="com.aptana.terminal.views.terminal" partName="Terminal">
|
||||||
<viewState>
|
<viewState>
|
||||||
<title>Terminal</title>
|
<title>Terminal</title>
|
||||||
<workingDirectory>C:\Users\Administrator</workingDirectory>
|
<workingDirectory>C:\Users\nudt</workingDirectory>
|
||||||
</viewState>
|
</viewState>
|
||||||
</view>
|
</view>
|
||||||
<view id="com.aptana.samples.ui.SamplesView" partName="Samples">
|
<view id="com.aptana.samples.ui.SamplesView" partName="Samples">
|
||||||
|
@ -66,13 +66,19 @@
|
||||||
<viewState/>
|
<viewState/>
|
||||||
</view>
|
</view>
|
||||||
<view id="com.aptana.explorer.view" partName="App Explorer">
|
<view id="com.aptana.explorer.view" partName="App Explorer">
|
||||||
<viewState CommonNavigator.LINKING_ENABLED="0" GitChangedFilesFilterEnabled="" activeProject="demo"/>
|
<viewState CommonNavigator.LINKING_ENABLED="0" GitChangedFilesFilterEnabled="" activeProject="trustie">
|
||||||
|
<project name="trustie">
|
||||||
|
<selection>
|
||||||
|
<element path="/trustie"/>
|
||||||
|
</selection>
|
||||||
|
</project>
|
||||||
|
</viewState>
|
||||||
</view>
|
</view>
|
||||||
<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
|
<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
|
||||||
<viewState/>
|
<viewState/>
|
||||||
</view>
|
</view>
|
||||||
</views>
|
</views>
|
||||||
<perspectives activePart="org.eclipse.ui.console.ConsoleView" activePerspective="com.aptana.ui.WebPerspective">
|
<perspectives activePart="org.eclipse.ui.navigator.ProjectExplorer" activePerspective="com.aptana.ui.WebPerspective">
|
||||||
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
|
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
|
||||||
<descriptor class="com.aptana.ui.internal.WebPerspectiveFactory" id="com.aptana.ui.WebPerspective" label="Web"/>
|
<descriptor class="com.aptana.ui.internal.WebPerspectiveFactory" id="com.aptana.ui.WebPerspective" label="Web"/>
|
||||||
<alwaysOnActionSet id="com.aptana.browser.actionSet"/>
|
<alwaysOnActionSet id="com.aptana.browser.actionSet"/>
|
||||||
|
@ -118,14 +124,19 @@
|
||||||
<view id="com.aptana.terminal.views.terminal"/>
|
<view id="com.aptana.terminal.views.terminal"/>
|
||||||
<view id="org.eclipse.ui.views.ProblemView"/>
|
<view id="org.eclipse.ui.views.ProblemView"/>
|
||||||
<view id="com.aptana.terminal.views.terminal:demo"/>
|
<view id="com.aptana.terminal.views.terminal:demo"/>
|
||||||
<view id="org.eclipse.ui.views.ContentOutline"/>
|
<fastViewBars>
|
||||||
<view id="com.aptana.samples.ui.SamplesView"/>
|
<fastViewBar fastViewLocation="16384" id="org.eclipse.ui.internal.ViewStack@d90254" orientation="256" selectedTabId="com.aptana.snippets.ui.views.SnippetsView" style="0">
|
||||||
<view id="com.aptana.snippets.ui.views.SnippetsView"/>
|
<fastViews>
|
||||||
<fastViewBars/>
|
<view id="org.eclipse.ui.views.ContentOutline" ratio="0.3"/>
|
||||||
|
<view id="com.aptana.samples.ui.SamplesView" ratio="0.3"/>
|
||||||
|
<view id="com.aptana.snippets.ui.views.SnippetsView" ratio="0.3"/>
|
||||||
|
</fastViews>
|
||||||
|
</fastViewBar>
|
||||||
|
</fastViewBars>
|
||||||
<layout>
|
<layout>
|
||||||
<mainWindow>
|
<mainWindow>
|
||||||
<info folder="true" part="left">
|
<info folder="true" part="left">
|
||||||
<folder activePageID="com.aptana.explorer.view" appearance="2" expanded="2">
|
<folder activePageID="org.eclipse.ui.navigator.ProjectExplorer" appearance="2" expanded="2">
|
||||||
<page content="com.aptana.explorer.view" label="App Explorer"/>
|
<page content="com.aptana.explorer.view" label="App Explorer"/>
|
||||||
<page content="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer"/>
|
<page content="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer"/>
|
||||||
<page content="com.aptana.ui.io.remoteview" label="LabelNotFound"/>
|
<page content="com.aptana.ui.io.remoteview" label="LabelNotFound"/>
|
||||||
|
@ -144,7 +155,7 @@
|
||||||
</info>
|
</info>
|
||||||
<info part="org.eclipse.ui.editorss" ratio="0.19931857" ratioLeft="234" ratioRight="940" relationship="2" relative="left"/>
|
<info part="org.eclipse.ui.editorss" ratio="0.19931857" ratioLeft="234" ratioRight="940" relationship="2" relative="left"/>
|
||||||
<info folder="true" part="terminalArea" ratio="0.75" ratioLeft="627" ratioRight="209" relationship="4" relative="org.eclipse.ui.editorss">
|
<info folder="true" part="terminalArea" ratio="0.75" ratioLeft="627" ratioRight="209" relationship="4" relative="org.eclipse.ui.editorss">
|
||||||
<folder activePageID="org.eclipse.ui.console.ConsoleView" appearance="2" expanded="2">
|
<folder activePageID="com.aptana.terminal.views.terminal:demo" appearance="2" expanded="2">
|
||||||
<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
|
<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
|
||||||
<page content="com.aptana.terminal.views.terminal" label="Terminal"/>
|
<page content="com.aptana.terminal.views.terminal" label="Terminal"/>
|
||||||
<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
|
<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
|
||||||
|
@ -160,15 +171,11 @@
|
||||||
</folder>
|
</folder>
|
||||||
</info>
|
</info>
|
||||||
<info folder="true" part="org.eclipse.ui.internal.ViewStack@d90254" ratio="0.75" ratioLeft="627" ratioRight="209" relationship="4" relative="left">
|
<info folder="true" part="org.eclipse.ui.internal.ViewStack@d90254" ratio="0.75" ratioLeft="627" ratioRight="209" relationship="4" relative="left">
|
||||||
<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">
|
<folder appearance="2" expanded="0">
|
||||||
<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
|
<page content="org.eclipse.ui.views.ContentOutline" label="LabelNotFound"/>
|
||||||
<page content="com.aptana.samples.ui.SamplesView" label="Samples"/>
|
<page content="com.aptana.samples.ui.SamplesView" label="LabelNotFound"/>
|
||||||
<page content="com.aptana.snippets.ui.views.SnippetsView" label="Snippets"/>
|
<page content="com.aptana.snippets.ui.views.SnippetsView" label="LabelNotFound"/>
|
||||||
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
|
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
|
||||||
<part id="0"/>
|
|
||||||
<part id="1"/>
|
|
||||||
<part id="2"/>
|
|
||||||
</presentation>
|
|
||||||
</folder>
|
</folder>
|
||||||
</info>
|
</info>
|
||||||
</mainWindow>
|
</mainWindow>
|
||||||
|
@ -182,6 +189,9 @@
|
||||||
<workbenchWindowAdvisor/>
|
<workbenchWindowAdvisor/>
|
||||||
<actionBarAdvisor/>
|
<actionBarAdvisor/>
|
||||||
<trimLayout>
|
<trimLayout>
|
||||||
|
<trimArea IMemento.internal.id="16384">
|
||||||
|
<trimItem IMemento.internal.id="org.eclipse.ui.internal.ViewStack@d90254"/>
|
||||||
|
</trimArea>
|
||||||
<trimArea IMemento.internal.id="128">
|
<trimArea IMemento.internal.id="128">
|
||||||
<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
|
<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
|
||||||
</trimArea>
|
</trimArea>
|
||||||
|
|
|
@ -3,7 +3,26 @@ class AppliedProjectController < ApplicationController
|
||||||
#申请加入项目
|
#申请加入项目
|
||||||
def applied_join_project
|
def applied_join_project
|
||||||
@user_id = params[:user_id]
|
@user_id = params[:user_id]
|
||||||
@project = Project.find(params[:project_id])
|
@project = Project.find_by_id(params[:project_id])
|
||||||
|
if params[:project_join]
|
||||||
|
if @project
|
||||||
|
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
|
||||||
|
if @applieds.count == 0
|
||||||
|
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
|
||||||
|
Mailer.applied_project(appliedproject).deliver
|
||||||
|
@status = 2
|
||||||
|
else
|
||||||
|
@status = 1
|
||||||
|
end
|
||||||
|
else
|
||||||
|
@status = 0
|
||||||
|
end
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
|
@applieds = AppliedProject.where("user_id = ? and project_id = ?", params[:user_id],params[:project_id])
|
||||||
if @applieds.count == 0
|
if @applieds.count == 0
|
||||||
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
|
appliedproject = AppliedProject.create(:user_id => params[:user_id], :project_id => params[:project_id])
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
class PollController < ApplicationController
|
class PollController < ApplicationController
|
||||||
before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer,:publish_poll,:republish_poll,:poll_result]
|
before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer,:publish_poll,:republish_poll,:poll_result,:close_poll]
|
||||||
before_filter :find_container, :only => [:new,:create, :index]
|
before_filter :find_container, :only => [:new,:create, :index]
|
||||||
before_filter :is_member_of_course, :only => [:index,:show,:poll_result]
|
before_filter :is_member_of_course, :only => [:index,:show,:poll_result]
|
||||||
before_filter :is_course_teacher, :only => [:new,:create,:edit,:update,:destroy,:publish_poll,:republish_poll]
|
before_filter :is_course_teacher, :only => [:new,:create,:edit,:update,:destroy,:publish_poll,:republish_poll,:close_poll]
|
||||||
include PollHelper
|
include PollHelper
|
||||||
def index
|
def index
|
||||||
if @course
|
if @course
|
||||||
|
@ -47,6 +47,7 @@ class PollController < ApplicationController
|
||||||
:user_id => User.current.id,
|
:user_id => User.current.id,
|
||||||
:published_at => Time.now,
|
:published_at => Time.now,
|
||||||
:closed_at => Time.now,
|
:closed_at => Time.now,
|
||||||
|
:show_result => 1,
|
||||||
:polls_description => ""
|
:polls_description => ""
|
||||||
}
|
}
|
||||||
@poll = Poll.create option
|
@poll = Poll.create option
|
||||||
|
@ -69,8 +70,8 @@ class PollController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@poll.polls_name = params[:polls_name].empty? ? l(:label_poll_title) : params[:polls_name]
|
@poll.polls_name = params[:polls_name]
|
||||||
@poll.polls_description = params[:polls_description].empty? ? l(:label_poll_description) : params[:polls_description]
|
@poll.polls_description = params[:polls_description]
|
||||||
if @poll.save
|
if @poll.save
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
|
@ -338,6 +339,17 @@ class PollController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#关闭问卷
|
||||||
|
def close_poll
|
||||||
|
@poll.polls_status = 3
|
||||||
|
@poll.closed_at = Time.now
|
||||||
|
if @poll.save
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def find_poll_and_course
|
def find_poll_and_course
|
||||||
@poll = Poll.find params[:id]
|
@poll = Poll.find params[:id]
|
||||||
|
|
|
@ -494,7 +494,7 @@ module ApplicationHelper
|
||||||
def principals_check_box_tags_ex(name, principals)
|
def principals_check_box_tags_ex(name, principals)
|
||||||
s = ''
|
s = ''
|
||||||
principals.each do |principal|
|
principals.each do |principal|
|
||||||
s << "<label>#{ check_box_tag name, principal.id, false, :id => nil } #{h principal.userInfo }</label>\n"
|
s << "<label>#{ check_box_tag name, principal.id, false, :id => nil } #{h link_to principal.userInfo, user_path( principal.id)}</label>\n"
|
||||||
end
|
end
|
||||||
s.html_safe
|
s.html_safe
|
||||||
end
|
end
|
||||||
|
|
|
@ -64,13 +64,13 @@ module PollHelper
|
||||||
def options_show pq
|
def options_show pq
|
||||||
case pq
|
case pq
|
||||||
when 1
|
when 1
|
||||||
"单选题"
|
l(:label_MC)
|
||||||
when 2
|
when 2
|
||||||
"多选题"
|
l(:label_MCQ)
|
||||||
when 3
|
when 3
|
||||||
"单行主观题"
|
l(:label_single)
|
||||||
else
|
else
|
||||||
"多行主观题"
|
l(:label_mulit)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ class Mailer < ActionMailer::Base
|
||||||
@author = forum.creator
|
@author = forum.creator
|
||||||
recipients = forum.creator.mail
|
recipients = forum.creator.mail
|
||||||
# cc = wiki_content.page.wiki.watcher_recipients - recipients
|
# cc = wiki_content.page.wiki.watcher_recipients - recipients
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
@forum_url = url_for(:controller => 'forums', :action => 'show', :id => forum.id)
|
@forum_url = url_for(:controller => 'forums', :action => 'show', :id => forum.id)
|
||||||
mail :to => recipients,:subject => "[ #{l(:label_forum)} : #{forum.name} #{l(:notice_successful_create)}]"
|
mail :to => recipients,:subject => "[ #{l(:label_forum)} : #{forum.name} #{l(:notice_successful_create)}]"
|
||||||
|
|
||||||
|
@ -47,6 +47,8 @@ class Mailer < ActionMailer::Base
|
||||||
redmine_headers 'Memo' => memo.id
|
redmine_headers 'Memo' => memo.id
|
||||||
@forum = memo.forum
|
@forum = memo.forum
|
||||||
@author = memo.author
|
@author = memo.author
|
||||||
|
@forum_url = url_for(:controller => 'forums', :action => 'show', :id => @forum.id)
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
recipients ||= []
|
recipients ||= []
|
||||||
mems = memo.self_and_siblings
|
mems = memo.self_and_siblings
|
||||||
mems.each do |mem|
|
mems.each do |mem|
|
||||||
|
@ -69,7 +71,7 @@ class Mailer < ActionMailer::Base
|
||||||
@mail = journals_for_message.at_user if journals_for_message.at_user
|
@mail = journals_for_message.at_user if journals_for_message.at_user
|
||||||
@message = journals_for_message.notes
|
@message = journals_for_message.notes
|
||||||
@title = "#@user #{t(:label_leave_your_message, :locale => 'zh')}"
|
@title = "#@user #{t(:label_leave_your_message, :locale => 'zh')}"
|
||||||
|
@issue_author_url = url_for(user_activities_url(@user))
|
||||||
@url = case journals_for_message.jour.class.to_s.to_sym # 判断留言的对象所属类型
|
@url = case journals_for_message.jour.class.to_s.to_sym # 判断留言的对象所属类型
|
||||||
when :Bid
|
when :Bid
|
||||||
course_for_bid_url(journals_for_message.jour, anchor: "word_li_#{journals_for_message.id}")
|
course_for_bid_url(journals_for_message.jour, anchor: "word_li_#{journals_for_message.id}")
|
||||||
|
@ -289,6 +291,7 @@ class Mailer < ActionMailer::Base
|
||||||
redmine_headers 'Project' => document.project.identifier
|
redmine_headers 'Project' => document.project.identifier
|
||||||
@author = User.current
|
@author = User.current
|
||||||
@document = document
|
@document = document
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
@document_url = url_for(:controller => 'documents', :action => 'show', :id => document)
|
@document_url = url_for(:controller => 'documents', :action => 'show', :id => document)
|
||||||
mail :to => document.recipients,
|
mail :to => document.recipients,
|
||||||
:subject => "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
|
:subject => "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
|
||||||
|
@ -304,6 +307,7 @@ class Mailer < ActionMailer::Base
|
||||||
added_to = ''
|
added_to = ''
|
||||||
added_to_url = ''
|
added_to_url = ''
|
||||||
@author = attachments.first.author
|
@author = attachments.first.author
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
case container.class.name
|
case container.class.name
|
||||||
when 'Project'
|
when 'Project'
|
||||||
added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container)
|
added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container)
|
||||||
|
@ -356,6 +360,7 @@ class Mailer < ActionMailer::Base
|
||||||
if news.project
|
if news.project
|
||||||
redmine_headers 'Project' => news.project.identifier
|
redmine_headers 'Project' => news.project.identifier
|
||||||
@author = news.author
|
@author = news.author
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
message_id news
|
message_id news
|
||||||
@news = news
|
@news = news
|
||||||
@news_url = url_for(:controller => 'news', :action => 'show', :id => news)
|
@news_url = url_for(:controller => 'news', :action => 'show', :id => news)
|
||||||
|
@ -364,6 +369,7 @@ class Mailer < ActionMailer::Base
|
||||||
elsif news.course
|
elsif news.course
|
||||||
redmine_headers 'Course' => news.course.id
|
redmine_headers 'Course' => news.course.id
|
||||||
@author = news.author
|
@author = news.author
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
message_id news
|
message_id news
|
||||||
@news = news
|
@news = news
|
||||||
recipients = news.course.notified_users.select { |user| user.allowed_to?(:view_files, news.course) }.collect { |u| u.mail }
|
recipients = news.course.notified_users.select { |user| user.allowed_to?(:view_files, news.course) }.collect { |u| u.mail }
|
||||||
|
@ -383,6 +389,7 @@ class Mailer < ActionMailer::Base
|
||||||
if news.project
|
if news.project
|
||||||
redmine_headers 'Project' => news.project.identifier
|
redmine_headers 'Project' => news.project.identifier
|
||||||
@author = comment.author
|
@author = comment.author
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
message_id comment
|
message_id comment
|
||||||
@news = news
|
@news = news
|
||||||
@comment = comment
|
@comment = comment
|
||||||
|
@ -393,6 +400,7 @@ class Mailer < ActionMailer::Base
|
||||||
elsif news.course
|
elsif news.course
|
||||||
redmine_headers 'Course' => news.course.id
|
redmine_headers 'Course' => news.course.id
|
||||||
@author = comment.author
|
@author = comment.author
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
message_id comment
|
message_id comment
|
||||||
@news = news
|
@news = news
|
||||||
@comment = comment
|
@comment = comment
|
||||||
|
@ -414,6 +422,7 @@ class Mailer < ActionMailer::Base
|
||||||
redmine_headers 'Project' => message.project.identifier,
|
redmine_headers 'Project' => message.project.identifier,
|
||||||
'Topic-Id' => (message.parent_id || message.id)
|
'Topic-Id' => (message.parent_id || message.id)
|
||||||
@author = message.author
|
@author = message.author
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
message_id message
|
message_id message
|
||||||
references message.parent unless message.parent.nil?
|
references message.parent unless message.parent.nil?
|
||||||
recipients = message.recipients
|
recipients = message.recipients
|
||||||
|
@ -427,6 +436,7 @@ class Mailer < ActionMailer::Base
|
||||||
redmine_headers 'Course' => message.course.id,
|
redmine_headers 'Course' => message.course.id,
|
||||||
'Topic-Id' => (message.parent_id || message.id)
|
'Topic-Id' => (message.parent_id || message.id)
|
||||||
@author = message.author
|
@author = message.author
|
||||||
|
@issue_author_url = url_for(user_activities_url(@author))
|
||||||
message_id message
|
message_id message
|
||||||
references message.parent unless message.parent.nil?
|
references message.parent unless message.parent.nil?
|
||||||
recipients = message.course.notified_users.select { |user| user.allowed_to?(:view_files, message.course) }.collect { |u| u.mail }
|
recipients = message.course.notified_users.select { |user| user.allowed_to?(:view_files, message.course) }.collect { |u| u.mail }
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<% if @status == 0%>
|
||||||
|
alert("您申请的项目不存在");
|
||||||
|
<% elsif @status == 1%>
|
||||||
|
alert("请勿重复申请加入该项目");
|
||||||
|
<% elsif @status == 2%>
|
||||||
|
alert("申请成功");
|
||||||
|
<%else%>
|
||||||
|
alert("申请失败");
|
||||||
|
<%end%>
|
|
@ -29,7 +29,7 @@
|
||||||
<%= l(:label_tags_course_name) %>
|
<%= l(:label_tags_course_name) %>
|
||||||
<span class="required">* </span>
|
<span class="required">* </span>
|
||||||
</label>
|
</label>
|
||||||
<input id="course_name" type="text" value="<%= @course.name %>" style="width:490px;size:60;" name = "course[name]" maxlength="100">
|
<input id="course_name" type="text" value="<%= @course.name %>" style="width:490px; size:60;" name = "course[name]" maxlength="100">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<%= f.fields_for @course do |m| %>
|
<%= f.fields_for @course do |m| %>
|
||||||
|
@ -38,11 +38,11 @@
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<span class="info" align="right" style="width: 90px; font-weight: bold ;margin-left:22px">
|
<span class="info" align="right" style="width: 90px; font-weight: bold ; margin-left:19px">
|
||||||
<%= l(:label_class_period) %>
|
<%= l(:label_class_period) %>
|
||||||
<span class="required"> * </span>
|
<span class="required"> * </span>
|
||||||
</span>
|
</span>
|
||||||
<span class="info" style="width: 10px;">
|
<span class="info" style="width: 10px; margin-left: 2px;">
|
||||||
<%= text_field_tag :class_period, @course.class_period, :placeholder => "#{l(:lable_input_class)}", :maxlength => 5 %>
|
<%= text_field_tag :class_period, @course.class_period, :placeholder => "#{l(:lable_input_class)}", :maxlength => 5 %>
|
||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
</label>
|
</label>
|
||||||
<input id="course_course_password" type="text" style="width:488px;margin-left: 10px;" value="<%= @course.password %>" size="60" name="course[password]"/>
|
<input id="course_course_password" type="text" style="width:488px;margin-left: 10px;" value="<%= @course.password %>" size="60" name="course[password]"/>
|
||||||
</p>
|
</p>
|
||||||
<em class="info" style="margin-left:95px;">
|
<em class="info" style="margin-left:95px; padding-left: 5px;">
|
||||||
<%= l(:text_command) %>
|
<%= l(:text_command) %>
|
||||||
</em>
|
</em>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
|
|
||||||
<% if display #如果课程已结束%>
|
<% if display #如果课程已结束%>
|
||||||
<% linkPath = course_endTime_timeout?(course) ? restartcourse_course_path(course) : finishcourse_course_path(course, format: :js) %>
|
<% linkPath = course_endTime_timeout?(course) ? restartcourse_course_path(course) : finishcourse_course_path(course, format: :js) %>
|
||||||
<% desc = course_endTime_timeout?(course) ? '重启' : '关闭' %>
|
<% desc = course_endTime_timeout?(course) ? l(:label_course_reload) : l(:label_course_closed) %>
|
||||||
|
|
||||||
<%= link_to "#{desc}", linkPath, :remote => true, :method => :post, :id => id, :confirm => ("确定要#{desc}课程?") %>
|
<%= link_to "#{desc}", linkPath, :remote => true, :method => :post, :id => id, :confirm => l(:label_course_closed_tips, :desc => desc) %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<!-- 关闭课程block -->
|
<!-- 关闭课程block -->
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<%= labelled_form_for @course do |f| %>
|
<%= labelled_form_for @course do |f| %>
|
||||||
<div class="box tabular">
|
<div class="box tabular">
|
||||||
<%= render :partial => 'course_form', :locals => { :f => f } %>
|
<%= render :partial => 'course_form', :locals => { :f => f } %>
|
||||||
<span style="padding-left: 60px">
|
<span style="padding-left: 60px; margin-left: 36px">
|
||||||
<%= submit_tag l(:button_create), :class => "enterprise"%>
|
<%= submit_tag l(:button_create), :class => "enterprise"%>
|
||||||
</span>
|
</span>
|
||||||
<!-- <%#= submit_tag l(:button_create_and_continue), :name => 'course_continue' %> -->
|
<!-- <%#= submit_tag l(:button_create_and_continue), :name => 'course_continue' %> -->
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button name="button" class="f_l ml10" onclick="_file.click()" onmouseover="this.focus()" type="button" style="width:80px; height:26px;">上传文件</button>
|
<button name="button" class="f_l ml10" onclick="_file.click()" onmouseover="this.focus()" type="button" style="width:20%; height:26%;"><%= l(:label_browse)%></button>
|
||||||
<%= file_field_tag 'attachments[dummy][file]',
|
<%= file_field_tag 'attachments[dummy][file]',
|
||||||
:id => '_file',
|
:id => '_file',
|
||||||
:class => 'file_selector',
|
:class => 'file_selector',
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<div id="popbox_upload" style="margin-top: -30px;margin-left: -20px;margin-right: -10px;">
|
<div id="popbox_upload" style="margin-top: -30px;margin-left: -20px;margin-right: -10px;">
|
||||||
<div class="upload_con">
|
<div class="upload_con">
|
||||||
<h2>上传资源</h2>
|
<h2><%= l(:label_upload_files)%></h2>
|
||||||
<div class="upload_box">
|
<div class="upload_box">
|
||||||
<%= error_messages_for 'attachment' %>
|
<%= error_messages_for 'attachment' %>
|
||||||
<div id="network_issue" style="color: red; display: none;">上传出现错误,请您检查您的网络环境,并刷新页面重新上传。</div>
|
<div id="network_issue" style="color: red; display: none;"><%= l(:label_file_upload_error_messages)%></div>
|
||||||
<%= form_tag(course_files_path(course), :multipart => true,:remote => true,:method => :post,:name=>"upload_form") do %>
|
<%= form_tag(course_files_path(course), :multipart => true,:remote => true,:method => :post,:name=>"upload_form") do %>
|
||||||
<label style="margin-top:3px;">文件浏览:</label>
|
<label style="margin-top:3px;"><%= l(:label_file_upload)%></label>
|
||||||
<%= render :partial => 'attachement_list',:locals => {:course => course} %>
|
<%= render :partial => 'attachement_list',:locals => {:course => course} %>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<a id="submit_resource" href="javascript:void(0);" class="upload_btn" onclick="submit_resource();">确 认</a>
|
<a id="submit_resource" href="javascript:void(0);" class="upload_btn" onclick="submit_resource();"><%= l(:button_confirm)%></a>
|
||||||
<a href="javascript:void(0);" class="upload_btn upload_btn_grey" onclick="closeModal();">取 消</a>
|
<a href="javascript:void(0);" class="upload_btn upload_btn_grey" onclick="closeModal();"><%= l(:button_cancel)%></a>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -135,7 +135,6 @@ function f_submit()
|
||||||
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
|
|
||||||
<title>意见反馈</title>
|
<title>意见反馈</title>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -305,7 +305,7 @@
|
||||||
.polls_btn a{font-size:14px; color:#444444;font-weight:bold;}
|
.polls_btn a{font-size:14px; color:#444444;font-weight:bold;}
|
||||||
.polls_btn span{ color:#15bed1; font-size:12px; font-weight:normal;}
|
.polls_btn span{ color:#15bed1; font-size:12px; font-weight:normal;}
|
||||||
.polls_btn a{ float:left;}
|
.polls_btn a{ float:left;}
|
||||||
.polls_n{float: left;background: #ff5d31;color: #fff;width: 12px;padding-left: 2px;height: 7px;padding-bottom: 5px;padding-top: 3px;margin-top: -4px;margin-left: 3px; }
|
.polls_n{float: left;background: #ff5d31;color: #fff;width: 32px;padding-left: 2px;height: 7px;padding-bottom: 5px;padding-top: 3px;margin-top: -4px;margin-left: 3px; }
|
||||||
.polls_n p{ margin-top:-4px;}
|
.polls_n p{ margin-top:-4px;}
|
||||||
.cl{ clear:both; overflow:hidden; }
|
.cl{ clear:both; overflow:hidden; }
|
||||||
</style>
|
</style>
|
||||||
|
@ -313,7 +313,7 @@
|
||||||
<!--<a href="#">问卷调查<span >(12)</span></a>-->
|
<!--<a href="#">问卷调查<span >(12)</span></a>-->
|
||||||
<%= link_to l(:label_poll), poll_index_path(:polls_type => "Course", :polls_group_id => @course.id)%>
|
<%= link_to l(:label_poll), poll_index_path(:polls_type => "Course", :polls_group_id => @course.id)%>
|
||||||
<div class="polls_n">
|
<div class="polls_n">
|
||||||
<p>N</p>
|
<p>NEW</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -102,7 +102,7 @@
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="info_font" title="<%= @contest.name%>">
|
<td class="info_font" title="<%= @contest.name%>">
|
||||||
<%= link_to @contest.name, show_contest_contest_path(@contest) %>
|
<%= link_to @contest.name, contest_contestnotifications_path(@contest) %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% if User.current.login? %>
|
<% if User.current.login? %>
|
||||||
|
|
|
@ -132,8 +132,9 @@
|
||||||
<td class="font_index">
|
<td class="font_index">
|
||||||
<%=link_to @project.watcher_users.count, :controller=>"projects", :action=>"watcherlist", :id => @project %>
|
<%=link_to @project.watcher_users.count, :controller=>"projects", :action=>"watcherlist", :id => @project %>
|
||||||
</td>
|
</td>
|
||||||
|
<!-- 项目sidebar栏显示问题数目为项目总问题数排除已关闭和已解决的项目问题数,即排除3(已解决),5(已关闭)的 项目问题数 !-->
|
||||||
<td class="font_index">
|
<td class="font_index">
|
||||||
<%=link_to "#{@project.issues.count}", project_issues_path(@project) %>
|
<%=link_to "#{@project.issues.where('status_id in (1,2,4,6)').count}", project_issues_path(@project) %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="font_aram">
|
<tr class="font_aram">
|
||||||
|
|
|
@ -44,8 +44,6 @@ a:hover.mail_reply{ background:#06a9bc; text-decoration:none;}
|
||||||
<p><%= l(:mail_issue_greetings)%></p>
|
<p><%= l(:mail_issue_greetings)%></p>
|
||||||
</div><!--mail_head end-->
|
</div><!--mail_head end-->
|
||||||
<%= yield %>
|
<%= yield %>
|
||||||
<hr />
|
|
||||||
<span class="footer" style="margin:0; padding:0;"><%= Redmine::WikiFormatting.to_html(Setting.text_formatting, Setting.emails_footer).html_safe %></span><!--mail_foot end-->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,26 +1,29 @@
|
||||||
<!-- <h1><%#= link_to(h("#{issue.tracker.name} ##{issue.project_index}: #{issue.subject}"), issue_url) %></h1> -->
|
<!-- <h1><%#= link_to(h("#{issue.tracker.name} ##{issue.project_index}: #{issue.subject}"), issue_url) %></h1> -->
|
||||||
<p>
|
<p>
|
||||||
|
|
||||||
<span class="c_blue" style="color:#1b55a7;">
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
<%= link_to(h("#{@author.login}(#{@author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
<%= link_to(h("#{@author.login}(#{@author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
</span><%= l(:mail_issue_title_userin)%>
|
</span><%= l(:mail_issue_title_userin)%>
|
||||||
<span class="c_blue" style="color:#1b55a7;"><%= link_to(h("#{@issue.project.name}"), @project_url, :style=>'color:#1b55a7; font-weight:bold;') %></span><%= l(:mail_issue_title_active)%></p>
|
<span class="c_blue" style="color:#1b55a7;"><%= link_to(h("#{@issue.project.name}"), @project_url, :style=>'color:#1b55a7; font-weight:bold;') %></span><%= l(:mail_issue_title_active)%></p>
|
||||||
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
||||||
<ul style="list-style-type:none; margin:0; padding:0;">
|
<ul style="list-style-type:none; margin:0; padding:0;">
|
||||||
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span><span style="float: left; width: 526px"><%= link_to(issue.subject, issue_url, :style=>'color:#1b55a7; font-weight:bold;') %></span></li>
|
<li style="list-style-type:none; margin:0; padding:0;float: left; "><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span><span style="float: left; width: 526px"><%= link_to(issue.subject, issue_url, :style=>'color:#1b55a7; font-weight:bold;') %></span></li>
|
||||||
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_sent_from)%></strong></span><span style="float: left; width: 526px"><%= issue.project.name %><b>| </b><%= l(:mail_issue_from_project)%></span></li>
|
<li style="list-style-type:none; margin:0; padding:0;float: left; "><span style="float: left;"><strong><%= l(:mail_issue_sent_from)%></strong></span><span style="float: left; width: 526px"><%= issue.project.name %><b>| </b><%= l(:mail_issue_from_project)%></span></li>
|
||||||
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
<li style="list-style-type:none; margin:0; padding:0; float: left; "><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
||||||
<span style="float: left; width: 526px">
|
<span style="float: left; width: 526px">
|
||||||
|
|
||||||
<% if @journal.nil? %>
|
<% if @journal.nil? %>
|
||||||
<%= issue.description %>
|
<%= issue.description=='' ? l(:label_none) : issue.description %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= @journal.notes %>
|
<%= @journal.notes=='' ? l(:label_none) : @journal.notes %>
|
||||||
<% end%>
|
<% end%>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<li style="list-style-type:none; margin:0; padding:0;">
|
<li style="list-style-type:none; margin:0; padding:0;float: left; ">
|
||||||
|
|
||||||
<% unless @issue.attachments.nil? %>
|
|
||||||
<span style="float: left"> <strong><%= l(:mail_issue_attachments)%></strong></span>
|
<span style="float: left"> <strong><%= l(:mail_issue_attachments)%></strong></span>
|
||||||
|
<% if @issue.attachments.count == 0 %>
|
||||||
|
<%= l(:label_none)%>
|
||||||
|
<% else %>
|
||||||
<span style="float: left; width: 526px; margin:0; padding:0;">
|
<span style="float: left; width: 526px; margin:0; padding:0;">
|
||||||
<% @issue.attachments.each do |attach| %>
|
<% @issue.attachments.each do |attach| %>
|
||||||
<p style="float: left; width: 526px; margin:0; padding:0;"><%= link_to_attachment(attach, :download => true, :token => @token.value, :only_path => false, :style=>'color:#1b55a7; font-weight:bold;')%></p>
|
<p style="float: left; width: 526px; margin:0; padding:0;"><%= link_to_attachment(attach, :download => true, :token => @token.value, :only_path => false, :style=>'color:#1b55a7; font-weight:bold;')%></p>
|
||||||
|
|
|
@ -1,4 +1,29 @@
|
||||||
<h1><%= link_to(h(@forum.name), @forum_url) %></h1>
|
|
||||||
<em><%=h @forum.creator.name %></em>
|
|
||||||
|
|
||||||
<%= @forum.description.html_safe %>
|
<p>
|
||||||
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
|
<%= link_to(h("#{@forum.creator.login}(#{@forum.creator.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
|
||||||
|
</span><%= l(:label_forum_new)%>
|
||||||
|
<%= link_to(h(@forum.name), @forum_url,:style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
</p>
|
||||||
|
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
||||||
|
<ul style="list-style-type:none; margin:0; padding:0;">
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px"> <%= link_to(h(@forum.name), @forum_url,:style=>'color:#1b55a7; font-weight:bold;') %></span></li>
|
||||||
|
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px">
|
||||||
|
<%= @forum.description.html_safe %>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
<label class="mail_reply">
|
||||||
|
<%= link_to(l(:mail_issue_reply), @forum_url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
||||||
|
</label>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,32 @@
|
||||||
<h1><%= link_to(h(@memo.subject), @memo_url) %></h1>
|
|
||||||
<em><%=h @memo.author.name %></em>
|
|
||||||
|
|
||||||
<%= @memo.content.html_safe %>
|
<p>
|
||||||
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
|
<%= link_to(h("#{@author.login}(#{@author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
</span><%= l(:mail_issue_title_userin)%>
|
||||||
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
|
<%= link_to(h(@forum.name), @forum_url,:style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
|
||||||
|
</span><%= l(:mail_issue_title_active)%></p>
|
||||||
|
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
||||||
|
<ul style="list-style-type:none; margin:0; padding:0;">
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px"> <%= link_to(h(@memo.subject), @memo_url,:style=>'color:#1b55a7; font-weight:bold;') %></span></li>
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_sent_from)%></strong></span>
|
||||||
|
<%= link_to(h(@forum.name), @forum_url,:style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
</li>
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px">
|
||||||
|
<%= @memo.content.html_safe %>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
<label class="mail_reply">
|
||||||
|
<%= link_to(l(:mail_issue_reply), @memo_url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
||||||
|
</label>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
<div>
|
|
||||||
<%= l(:text_issue_updated, :id => "##{@issue.project_index}", :author => h(@journal.user)) %>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="cl" style="margin-top: 15px; clear:both; overflow:hidden;"></div>
|
<div class="cl" style="margin-top: 15px; clear:both; overflow:hidden;"></div>
|
||||||
<hr/>
|
|
||||||
|
|
||||||
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||||
<div class="mail_foot"><%= link_to( l(:mail_issue_footer), @user_url, :style=>'font-size:12px; font-weight:normal; color:#1b55a7;') %> </div>
|
<div class="mail_foot"><%= link_to( l(:mail_issue_footer), @user_url, :style=>'font-size:12px; font-weight:normal; color:#1b55a7;') %> </div>
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
<em>尊敬的用户,<%= @user %>给你留言了:</em>
|
|
||||||
<div><%= @message %></div>
|
<p>
|
||||||
<p>点击链接查看最新回复<%= link_to(@url, @url) %>
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
<%= link_to(l(:lable_not_receive_mail),"http://" + Setting.host_name + "/my/account")%></p>
|
|
||||||
|
<%= link_to(h("#{@user.login}(#{@user.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
</span>给你留言了
|
||||||
|
</p>
|
||||||
|
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
||||||
|
<ul style="list-style-type:none; margin:0; padding:0;">
|
||||||
|
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px">
|
||||||
|
<%= @message %>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
<label class="mail_reply">
|
||||||
|
<%= link_to(l(:mail_issue_reply), @url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
||||||
|
</label>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<span class="c_blue" style="color:#1b55a7;">
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
<%= h @message.author %>(<%= @message.author.show_name %>)
|
<%= link_to(h("#{@message.author.login}(#{@message.author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
|
||||||
</span><%= l(:mail_issue_title_userin)%>
|
</span><%= l(:mail_issue_title_userin)%>
|
||||||
<span class="c_blue" style="color:#1b55a7;">
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
<% if @message.project %>
|
<% if @message.project %>
|
||||||
|
@ -29,7 +30,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
<label class="mail_reply">
|
<label class="mail_reply">
|
||||||
<%= link_to(h(:mail_issue_reply), @message_url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
<%= link_to(l(:mail_issue_reply), @message_url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
||||||
</label>
|
</label>
|
||||||
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,4 +1,41 @@
|
||||||
<h1><%= link_to(h(@news.title), @news_url) %></h1>
|
|
||||||
<em><%=h @news.author.name %></em>
|
|
||||||
|
|
||||||
<%= textilizable(@news, :description, :only_path => false) %>
|
<p>
|
||||||
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
|
|
||||||
|
<%= link_to(h("#{@news.author.login}(#{@news.author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
|
||||||
|
</span><%= l(:mail_issue_title_userin)%>
|
||||||
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
|
<% if @news.project %>
|
||||||
|
<%=h @news.project.name %> : <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
<% elsif @news.course %>
|
||||||
|
<%=h @news.course.name %> : <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
<% end %>
|
||||||
|
</span><%= l(:mail_issue_title_active)%></p>
|
||||||
|
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
||||||
|
<ul style="list-style-type:none; margin:0; padding:0;">
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px"> <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %></span></li>
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_sent_from)%></strong></span>
|
||||||
|
<% if @news.project %>
|
||||||
|
<span style="float: left; width: 526px"><%=h @news.project.name %></span>
|
||||||
|
<% elsif @news.course %>
|
||||||
|
<span style="float: left; width: 526px"><%=h @news.course.name %></span>
|
||||||
|
<% end %>
|
||||||
|
</li>
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px">
|
||||||
|
<%= @news.description %>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
<label class="mail_reply">
|
||||||
|
<%= link_to(l(:mail_issue_reply), @news_url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
||||||
|
</label>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
<h1><%= link_to(h(@news.title), @news_url) %></h1>
|
|
||||||
|
|
||||||
<p><%= l(:text_user_wrote, :value => h(@comment.author)) %></p>
|
<p>
|
||||||
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
|
<%= link_to(h("#{@comment.author.login}(#{@comment.author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
|
||||||
|
</span><%= l(:mail_issue_title_userin)%>
|
||||||
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
|
<% if @news.project %>
|
||||||
|
<%=h @news.project.name %> : <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
<% elsif @news.course %>
|
||||||
|
<%=h @news.course.name %> : <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
|
<% end %>
|
||||||
|
</span><%= l(:mail_issue_title_active)%></p>
|
||||||
|
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
||||||
|
<ul style="list-style-type:none; margin:0; padding:0;">
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px"> <%= link_to(h(@news.title), @news_url,:style=>'color:#1b55a7; font-weight:bold;') %></span></li>
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_sent_from)%></strong></span>
|
||||||
|
<% if @news.project %>
|
||||||
|
<span style="float: left; width: 526px"><%=h @news.project.name %></span>
|
||||||
|
<% elsif @news.course %>
|
||||||
|
<span style="float: left; width: 526px"><%=h @news.course.name %></span>
|
||||||
|
<% end %>
|
||||||
|
</li>
|
||||||
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
||||||
|
<span style="float: left; width: 526px">
|
||||||
|
<%= @comment.comments %>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
<label class="mail_reply">
|
||||||
|
<%= link_to(l(:mail_issue_reply), @news_url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
||||||
|
</label>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<%= textilizable @comment, :comments, :only_path => false %>
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<!-- <h1>New memo</h1> -->
|
<!-- <h1>New memo</h1> -->
|
||||||
<% @replying = !@memo.parent.nil? %>
|
<% @replying = !@memo.parent.nil? %>
|
||||||
|
|
||||||
<h3><%=l(:label_memo_edit)%></h3>
|
<h3><%=l(:label_memo_edit)%></h3>
|
||||||
<%= labelled_form_for(@memo, :url => forum_memo_path(@memo.forum_id, @memo)) do |f| %>
|
<%= labelled_form_for(@memo, :url => forum_memo_path(@memo.forum_id, @memo)) do |f| %>
|
||||||
<% if @memo.errors.any? %>
|
<% if @memo.errors.any? %>
|
||||||
|
@ -19,7 +20,11 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<p>
|
<p>
|
||||||
<%= f.text_field :subject, :required => true, :size => 96 ,:readonly => @replying, :maxlength => 50%>
|
<% if @memo.parent.nil? && @memo.children.first.nil? %>
|
||||||
|
<%= f.text_field :subject, :required => true, :size => 96 ,:readonly => false, :maxlength => 50%>
|
||||||
|
<% else %>
|
||||||
|
<%= f.text_field :subject, :required => true, :size => 96 ,:readonly => true, :style => "border: 1px solid gray", :maxlength => 50%>
|
||||||
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
<% if User.current.admin?%>
|
<% if User.current.admin?%>
|
||||||
<p>
|
<p>
|
||||||
|
|
|
@ -82,11 +82,11 @@
|
||||||
:html => {:id => 'news-form', :multipart => true} do |f| %>
|
:html => {:id => 'news-form', :multipart => true} do |f| %>
|
||||||
<%= render :partial => 'news/form', :locals => {:f => f} %>
|
<%= render :partial => 'news/form', :locals => {:f => f} %>
|
||||||
<%#= submit_tag l(:button_create), :class => 'whiteButton m3p10 h30', :name => nil %><!-- button-submit -->
|
<%#= submit_tag l(:button_create), :class => 'whiteButton m3p10 h30', :name => nil %><!-- button-submit -->
|
||||||
<%= link_to l(:button_create), "#", :onclick => 'submitNews();',:onmouseover => 'submitFocus(this);', :class => 'whiteButton m3p10' %>
|
<%= link_to l(:button_create), "#", :onclick => 'submitNews();',:onmouseover => 'submitFocus(this);', :class => 'ButtonColor m3p10' %>
|
||||||
|
|
|
|
||||||
<%#= preview_link preview_news_path(:project_id => @project), 'news-form', target='preview', {:class => 'whiteButton m3p10'} %>
|
<%#= preview_link preview_news_path(:project_id => @project), 'news-form', target='preview', {:class => 'whiteButton m3p10'} %>
|
||||||
|
|
||||||
<%= link_to l(:button_cancel), "#", :onclick => '$("#add-news").hide()', :class => 'whiteButton m3p10' %>
|
<%= link_to l(:button_cancel), "#", :onclick => '$("#add-news").hide()', :class => 'ButtonColor m3p10' %>
|
||||||
<% end if @project %>
|
<% end if @project %>
|
||||||
<div id="preview" class="wiki"></div>
|
<div id="preview" class="wiki"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -39,8 +39,12 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -36,8 +36,12 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div><!--编辑多选 end-->
|
</div><!--编辑多选 end-->
|
||||||
|
|
|
@ -7,8 +7,12 @@
|
||||||
<textarea name="polls_description" maxlength="300" id="polls_description" class="textarea_editor"><%= @poll.polls_description%></textarea>
|
<textarea name="polls_description" maxlength="300" id="polls_description" class="textarea_editor"><%= @poll.polls_description%></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn_submit" data-button="ok" onclick="pollsSubmit($(this));">
|
||||||
<a class="btn_cancel" data-button="cancel" onclick="pollsCancel();">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn_cancel" data-button="cancel" onclick="pollsCancel();">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div><!--编辑头部 end-->
|
</div><!--编辑头部 end-->
|
||||||
|
|
|
@ -20,8 +20,12 @@
|
||||||
<!--<label>高 <input name="rows" type="number" min="1" value="5"> 行</label>-->
|
<!--<label>高 <input name="rows" type="number" min="1" value="5"> 行</label>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div><!--编辑多行文字end-->
|
</div><!--编辑多行文字end-->
|
||||||
|
|
|
@ -16,8 +16,12 @@
|
||||||
<label for="ur_question_require">必答</label>
|
<label for="ur_question_require">必答</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn_cancel" data-button="cancel" onclick="resetQuestion<%=poll_question.id%>();pollQuestionCancel(<%= poll_question.id%>);">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div><!--编辑单行文字end-->
|
</div><!--编辑单行文字end-->
|
||||||
|
|
|
@ -34,8 +34,12 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -33,8 +33,12 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn btn_dark btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -13,8 +13,12 @@
|
||||||
<!--<label>高 <input name="rows" type="number" min="1" value="5"> 行</label>-->
|
<!--<label>高 <input name="rows" type="number" min="1" value="5"> 行</label>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div><!--编辑多行文字end-->
|
</div><!--编辑多行文字end-->
|
||||||
|
|
|
@ -8,8 +8,12 @@
|
||||||
<label for="ur_question_require">必答</label>
|
<label for="ur_question_require">必答</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="ur_editor_footer">
|
<div class="ur_editor_footer">
|
||||||
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">确定</a>
|
<a class="btn_submit" data-button="ok" onclick="$(this).parent().parent().parent().submit();">
|
||||||
<a class="btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">取消</a>
|
<%= l(:label_button_ok)%>
|
||||||
|
</a>
|
||||||
|
<a class="btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div><!--编辑单行文字end-->
|
</div><!--编辑单行文字end-->
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%if @is_teacher%>
|
<%if @is_teacher%>
|
||||||
<% if poll.polls_status == 1 %>
|
<% if poll.polls_status == 1 || poll.polls_status == 3 %>
|
||||||
<li class="pollsbtn fl ml10 pollsbtn_grey">统计结果</li>
|
<li class="pollsbtn fl ml10 pollsbtn_grey">统计结果</li>
|
||||||
<% elsif poll.polls_status == 2%>
|
<% elsif poll.polls_status == 2%>
|
||||||
<li>
|
<li>
|
||||||
|
@ -31,38 +31,61 @@
|
||||||
<% end%>
|
<% end%>
|
||||||
<% end%>
|
<% end%>
|
||||||
|
|
||||||
<li>
|
|
||||||
<%if @is_teacher %>
|
<%if @is_teacher %>
|
||||||
<% if poll.polls_status == 1 %>
|
<% if poll.polls_status == 1 %>
|
||||||
<a href="#" class="pollsbtn btn_pu fl ml5" onclick="poll_submit(<%= poll.id%>);">发布问卷</a>
|
<li>
|
||||||
|
<a href="#" class="pollsbtn btn_pu fl ml5" onclick="poll_submit(<%= poll.id%>,<%= poll.polls_name.length %>);">
|
||||||
|
发布问卷
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<% elsif poll.polls_status == 2%>
|
<% elsif poll.polls_status == 2%>
|
||||||
<a href="#" class="pollsbtn btn_de fl ml5" onclick="republish_poll(<%= poll.id%>);">取消发布</a>
|
<li>
|
||||||
|
<a href="#" class="pollsbtn btn_de fl ml5" onclick="republish_poll(<%= poll.id%>);">
|
||||||
|
取消发布
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<% else%>
|
||||||
|
<li class="pollsbtn fl ml10 pollsbtn_grey">
|
||||||
|
发布问卷
|
||||||
|
</li>
|
||||||
<% end%>
|
<% end%>
|
||||||
<% end%>
|
<% end%>
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<% if @is_teacher %>
|
<% if @is_teacher %>
|
||||||
<!--新建状态的问卷可删除-->
|
<!--新建状态的问卷可删除-->
|
||||||
<%= link_to(l(:button_delete), poll,
|
<%= link_to(l(:button_delete), poll,
|
||||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "polls_de fr ml20 mr10") %>
|
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "polls_de fr ml15 mr10") %>
|
||||||
<% end%>
|
<% end%>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<% if @is_teacher%>
|
<% if @is_teacher%>
|
||||||
<% if poll.polls_status == 1 %>
|
<% if poll.polls_status == 1 %>
|
||||||
<%= link_to l(:button_edit), edit_poll_path(poll.id), :class => "polls_de fr ml20"%>
|
<li>
|
||||||
<% elsif poll.polls_status == 2%>
|
<%= link_to l(:button_edit), edit_poll_path(poll.id), :class => "polls_de fr ml15"%>
|
||||||
<li class="polls_de_grey fr ml20">编辑</li>
|
</li>
|
||||||
|
<% else%>
|
||||||
|
<li class="polls_de_grey fr ml15">
|
||||||
|
编辑
|
||||||
|
</li>
|
||||||
<% end%>
|
<% end%>
|
||||||
|
<% end%>
|
||||||
|
|
||||||
|
<% if @is_teacher%>
|
||||||
|
<% if poll.polls_status == 2 %>
|
||||||
|
<li>
|
||||||
|
<a class="polls_de fr ml15" onclick="close_poll(<%= poll.id%>);">关闭</a>
|
||||||
|
</li>
|
||||||
|
<% else %>
|
||||||
|
<li class="polls_de_grey fr ml15">
|
||||||
|
关闭
|
||||||
|
</li>
|
||||||
<% end%>
|
<% end%>
|
||||||
</li>
|
|
||||||
<!--<li>-->
|
<% end %>
|
||||||
<!--<% if @is_teacher && poll.polls_status == 2%>-->
|
|
||||||
<!--<a class="polls_de fr ml20" onclick="republish_poll(<%= poll.id%>);">-->
|
|
||||||
<!--取消发布-->
|
|
||||||
<!--</a>-->
|
|
||||||
<!--<% end %>-->
|
|
||||||
<!--</li>-->
|
|
||||||
<li class="polls_date fr mr10">
|
<li class="polls_date fr mr10">
|
||||||
<%= format_time poll.created_at%>
|
<%= format_time poll.created_at%>
|
||||||
</li>
|
</li>
|
|
@ -25,6 +25,10 @@
|
||||||
}
|
}
|
||||||
//问卷头
|
//问卷头
|
||||||
function pollsCancel(){$("#polls_head_edit").hide();$("#polls_head_show").show();}
|
function pollsCancel(){$("#polls_head_edit").hide();$("#polls_head_show").show();}
|
||||||
|
function pollsSubmit(doc){
|
||||||
|
var title = $.trim($("#polls_title").val());
|
||||||
|
if(title.length == 0){alert("问卷标题不能为空");}else{doc.parent().parent().parent().submit();}
|
||||||
|
}
|
||||||
function pollsEdit(){$("#polls_head_edit").show();$("#polls_head_show").hide();}
|
function pollsEdit(){$("#polls_head_edit").show();$("#polls_head_show").hide();}
|
||||||
//
|
//
|
||||||
function pollQuestionCancel(question_id){
|
function pollQuestionCancel(question_id){
|
||||||
|
@ -57,9 +61,15 @@
|
||||||
|
|
||||||
function poll_submit()
|
function poll_submit()
|
||||||
{
|
{
|
||||||
|
var title = $.trim($("#polls_name_h").html());
|
||||||
|
if(title.length == 0)
|
||||||
|
{
|
||||||
|
alert("问卷标题不能为空");
|
||||||
|
}
|
||||||
|
else{
|
||||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { :poll => @poll,:is_remote => false}) %>');
|
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { :poll => @poll,:is_remote => false}) %>');
|
||||||
showModal('ajax-modal', '310px');
|
showModal('ajax-modal', '310px');
|
||||||
$('#ajax-modal').css('height','115px');
|
$('#ajax-modal').css('height','120px');
|
||||||
$('#ajax-modal').siblings().remove();
|
$('#ajax-modal').siblings().remove();
|
||||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
@ -67,6 +77,7 @@
|
||||||
$('#ajax-modal').parent().css("top","").css("left","");
|
$('#ajax-modal').parent().css("top","").css("left","");
|
||||||
$('#ajax-modal').parent().addClass("popbox_polls");
|
$('#ajax-modal').parent().addClass("popbox_polls");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<div class="ur_page_head ur_editor02"><!--头部显示 start-->
|
<div class="ur_page_head ur_editor02"><!--头部显示 start-->
|
||||||
<a href="#" class="ur_icon_edit" title="编辑" onclick="pollsEdit();"></a>
|
<a href="#" class="ur_icon_edit" title="编辑" onclick="pollsEdit();"></a>
|
||||||
<h1 class="ur_page_title" id="polls_name_h">
|
<h1 class="ur_page_title" id="polls_name_h">
|
||||||
<%= poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name%>
|
<%= poll.polls_name%>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="ur_prefix_content" id="polls_description_p">
|
<p class="ur_prefix_content" id="polls_description_p">
|
||||||
<%= @poll.polls_description%>
|
<%= @poll.polls_description%>
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
$("#polls_<%= @poll.id %>").html("<%= escape_javascript(render :partial => 'poll',:locals => {:poll => @poll}) %>");
|
||||||
|
alert("关闭成功");
|
|
@ -15,7 +15,7 @@
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>");
|
"</div>");
|
||||||
showModal('ajax-modal', '310px');
|
showModal('ajax-modal', '310px');
|
||||||
$('#ajax-modal').css('height','115px');
|
$('#ajax-modal').css('height','120px');
|
||||||
$('#ajax-modal').siblings().remove();
|
$('#ajax-modal').siblings().remove();
|
||||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
"<a onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
"<a onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
@ -26,7 +26,13 @@
|
||||||
|
|
||||||
function clickCanel(){hideModal("#popbox02");}
|
function clickCanel(){hideModal("#popbox02");}
|
||||||
|
|
||||||
function poll_submit(poll_id)
|
function poll_submit(poll_id,poll_name)
|
||||||
|
{
|
||||||
|
if(poll_name == 0)
|
||||||
|
{
|
||||||
|
alert("问卷标题不能为空");
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
$('#ajax-modal').html("<div id='popbox02'>" +
|
$('#ajax-modal').html("<div id='popbox02'>" +
|
||||||
"<div class='upload_con'>" +
|
"<div class='upload_con'>" +
|
||||||
|
@ -41,7 +47,32 @@
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>");
|
"</div>");
|
||||||
showModal('ajax-modal', '310px');
|
showModal('ajax-modal', '310px');
|
||||||
$('#ajax-modal').css('height','115px');
|
$('#ajax-modal').css('height','120px');
|
||||||
|
$('#ajax-modal').siblings().remove();
|
||||||
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
|
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
$('#ajax-modal').parent().removeClass("alert_praise");
|
||||||
|
$('#ajax-modal').parent().css("top","").css("left","");
|
||||||
|
$('#ajax-modal').parent().addClass("popbox_polls");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function close_poll(poll_id)
|
||||||
|
{
|
||||||
|
$('#ajax-modal').html("<div id='popbox02'>" +
|
||||||
|
"<div class='upload_con'>" +
|
||||||
|
"<div class='upload_box'>" +
|
||||||
|
"<p class='polls_box_p'>问卷关闭后学生将不能继续提交问卷,<br />是否确定关闭该问卷?</p>" +
|
||||||
|
"<div class='polls_btn_box'>" +
|
||||||
|
"<a href='/poll/"+ poll_id +"/close_poll' class='upload_btn' onclick='clickCanel();' data-remote='true'>确 定</a>" +
|
||||||
|
"<a class='upload_btn upload_btn_grey' onclick='clickCanel();'>取 消</a>" +
|
||||||
|
"</div>" +
|
||||||
|
"<div class='cl'></div>" +
|
||||||
|
"</div>" +
|
||||||
|
"</div>" +
|
||||||
|
"</div>");
|
||||||
|
showModal('ajax-modal', '310px');
|
||||||
|
$('#ajax-modal').css('height','120px');
|
||||||
$('#ajax-modal').siblings().remove();
|
$('#ajax-modal').siblings().remove();
|
||||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
|
|
@ -2,20 +2,31 @@
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<title><%= l(:label_poll_result) %></title>
|
<title>
|
||||||
|
<%= l(:label_poll_result) %>
|
||||||
|
</title>
|
||||||
<%= stylesheet_link_tag 'polls', :media => 'all' %>
|
<%= stylesheet_link_tag 'polls', :media => 'all' %>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="polls_content polls_box" id="polls">
|
<div class="polls_content polls_box" id="polls">
|
||||||
<div class="ur_page_head" >
|
<div class="ur_page_head" >
|
||||||
<h1 class="ur_page_title"><%= @poll.polls_name %> <%= l(:label_poll) %></h1>
|
<h1 class="ur_page_title">
|
||||||
|
<%= @poll.polls_name %>
|
||||||
|
<%= l(:label_poll) %>
|
||||||
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="">
|
<div>
|
||||||
<% @poll_questions.each do |poll_question| %>
|
<% @poll_questions.each do |poll_question| %>
|
||||||
<ol>
|
<ol style="margin-left: -40px;">
|
||||||
<li class="ur_question_item">
|
<li class="ur_question_item">
|
||||||
<div class="ur_title_result">
|
<div class="ur_title_result">
|
||||||
<span class="title_index">第<%= poll_question.question_number %>题:</span><%= poll_question.question_title %> <span class="title_index">[<%= options_show(poll_question.question_type) %>]</span>
|
<span class="title_index">
|
||||||
|
第<%= poll_question.question_number %>题:
|
||||||
|
</span>
|
||||||
|
<%= poll_question.question_title %>
|
||||||
|
<span class="title_index">
|
||||||
|
[<%= options_show(poll_question.question_type) %>]
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<% if poll_question.question_type == 1 || poll_question.question_type == 2 %>
|
<% if poll_question.question_type == 1 || poll_question.question_type == 2 %>
|
||||||
<%= render :partial =>'choice_show', :locals =>{ :poll_question => poll_question } %>
|
<%= render :partial =>'choice_show', :locals =>{ :poll_question => poll_question } %>
|
||||||
|
@ -29,8 +40,6 @@
|
||||||
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
|
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<div class="ur_buttons"></div>
|
|
||||||
<div class="cl"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
@ -34,7 +33,7 @@
|
||||||
{
|
{
|
||||||
hideModal(obj);
|
hideModal(obj);
|
||||||
$("#new-watcher-form").submit();
|
$("#new-watcher-form").submit();
|
||||||
alert("申请成功");
|
// alert("申请成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
function hidden_join_course_form()
|
function hidden_join_course_form()
|
||||||
|
@ -60,6 +59,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li style="padding-top: 15px;">
|
<li style="padding-top: 15px;">
|
||||||
<span class="tips">项 目 ID:</span>
|
<span class="tips">项 目 ID:</span>
|
||||||
|
<input type="hidden" name="project_join" value="1">
|
||||||
<input type="hidden" name="user_id" value="<%= User.current.id%>">
|
<input type="hidden" name="user_id" value="<%= User.current.id%>">
|
||||||
<input class=" width190" name="project_id" id="project_id" type="text" value="" >
|
<input class=" width190" name="project_id" id="project_id" type="text" value="" >
|
||||||
<input type="text" style="display: none"/>
|
<input type="text" style="display: none"/>
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
<li class="mB5">项目ID是所在项目网址中显示的序号</li>
|
<li class="mB5">项目ID是所在项目网址中显示的序号</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" class="btn" style="margin-left: 50px;" onclick="submit_form(this);">
|
<a href="#" class="btn" style="margin-left: 50px;" onclick="submit_form(this);">
|
||||||
<%= l(:label_new_join) %>
|
<%= l(:label_apply_project) %>
|
||||||
</a>
|
</a>
|
||||||
<a href="#" class="btn" style="margin-left: 20px;" onclick="hideModal(this);">
|
<a href="#" class="btn" style="margin-left: 20px;" onclick="hideModal(this);">
|
||||||
<%= l(:button_cancel)%>
|
<%= l(:button_cancel)%>
|
||||||
|
|
|
@ -47,7 +47,7 @@ form #search_type{
|
||||||
<%#完了把上面东西放到 .css 里%>
|
<%#完了把上面东西放到 .css 里%>
|
||||||
</style>
|
</style>
|
||||||
<%= form_tag({controller: :welcome, action: :search }, method: :get) do %>
|
<%= form_tag({controller: :welcome, action: :search }, method: :get) do %>
|
||||||
<div class="project-search" style="float: right; width: 260px">
|
<div class="project-search" style="float: right">
|
||||||
<div class='search_widget'>
|
<div class='search_widget'>
|
||||||
<%= text_field_tag :q, nil, placeholder:'请输入要搜索的关键字', :size => 27, style: "float:left" %>
|
<%= text_field_tag :q, nil, placeholder:'请输入要搜索的关键字', :size => 27, style: "float:left" %>
|
||||||
<%= select_tag(:search_type, options_for_select(select_option), :style => "float:right" ) %>
|
<%= select_tag(:search_type, options_for_select(select_option), :style => "float:right" ) %>
|
||||||
|
|
|
@ -86,7 +86,7 @@ form #search_by
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<%= form_tag({controller: :welcome, action: :search }, method: :get) do %>
|
<%= form_tag({controller: :welcome, action: :search }, method: :get) do %>
|
||||||
<div class="project-search" style="float: right; width: 260px">
|
<div class="project-search" style="float: right">
|
||||||
<div class='search_widget' >
|
<div class='search_widget' >
|
||||||
|
|
||||||
<%= text_field_tag :q, nil, placeholder:'请输入要搜索的关键字', style:"float:left" %>
|
<%= text_field_tag :q, nil, placeholder:'请输入要搜索的关键字', style:"float:left" %>
|
||||||
|
|
|
@ -17,9 +17,9 @@ module RedmineApp
|
||||||
# -- all .rb files in that directory are automatically loaded.
|
# -- all .rb files in that directory are automatically loaded.
|
||||||
|
|
||||||
# verifier if email is real
|
# verifier if email is real
|
||||||
EmailVerifier.config do |config|
|
# EmailVerifier.config do |config|
|
||||||
config.verifier_email = "lizanle521@126.com"
|
# config.verifier_email = "lizanle521@126.com"
|
||||||
end
|
# end
|
||||||
|
|
||||||
config.generators do |g|
|
config.generators do |g|
|
||||||
g.test_framework :rspec,
|
g.test_framework :rspec,
|
||||||
|
|
|
@ -237,7 +237,7 @@ en:
|
||||||
mail_body_wiki_content_updated: "The '%{id}' wiki page has been updated by %{author}."
|
mail_body_wiki_content_updated: "The '%{id}' wiki page has been updated by %{author}."
|
||||||
|
|
||||||
# edit by meng
|
# edit by meng
|
||||||
# emailer
|
# emailer translation
|
||||||
mail_issue_greetings: "Dear user , Greetings from Trustie"
|
mail_issue_greetings: "Dear user , Greetings from Trustie"
|
||||||
mail_issue_footer: "Unsubscribe this message?"
|
mail_issue_footer: "Unsubscribe this message?"
|
||||||
mail_issue_title_userin: "in"
|
mail_issue_title_userin: "in"
|
||||||
|
@ -249,7 +249,16 @@ en:
|
||||||
mail_issue_attachments: "Attachments:"
|
mail_issue_attachments: "Attachments:"
|
||||||
mail_issue_reply: "Want reply"
|
mail_issue_reply: "Want reply"
|
||||||
#end
|
#end
|
||||||
|
# modified by meng
|
||||||
|
# file_upload translation
|
||||||
|
label_file_upload: Resource files
|
||||||
|
label_file_upload_error_messages: "Upload error, please check your network environment, and refresh the page to upload."
|
||||||
|
button_confirm: Confirm
|
||||||
|
# shut down and restart course
|
||||||
|
label_course_closed: Close
|
||||||
|
label_course_reopen: Reopen
|
||||||
|
label_course_closed_tips: "Are you sure you want to reopen the course?"
|
||||||
|
# end
|
||||||
field_name: Name
|
field_name: Name
|
||||||
field_description: Description
|
field_description: Description
|
||||||
field_summary: Summary
|
field_summary: Summary
|
||||||
|
@ -345,7 +354,7 @@ en:
|
||||||
field_identity_url: OpenID URL
|
field_identity_url: OpenID URL
|
||||||
field_content: Content
|
field_content: Content
|
||||||
field_group_by: Group results by
|
field_group_by: Group results by
|
||||||
field_sharing: Sharing
|
field_sharing: Sharinglable_hot_course
|
||||||
field_parent_issue: Parent task
|
field_parent_issue: Parent task
|
||||||
field_member_of_group: "Assignee's group"
|
field_member_of_group: "Assignee's group"
|
||||||
field_assigned_to_role: "Assignee's role"
|
field_assigned_to_role: "Assignee's role"
|
||||||
|
@ -537,6 +546,63 @@ en:
|
||||||
project_module_calendar: Calendar
|
project_module_calendar: Calendar
|
||||||
project_module_gantt: Gantt
|
project_module_gantt: Gantt
|
||||||
|
|
||||||
|
# edit by meng
|
||||||
|
lable_hot_course: Hot projects
|
||||||
|
lable_hot_projects: Active courses
|
||||||
|
lable_user_active: User movements
|
||||||
|
lable_bar_active: Bar posts
|
||||||
|
label_project_score: Score
|
||||||
|
label_course_join_student: Join a course
|
||||||
|
label_join_project: Join a project
|
||||||
|
label_contest_modify_settings: Configuration
|
||||||
|
bale_news_notice: Add a notification
|
||||||
|
label_field_correct: correct input
|
||||||
|
label_work_description_lengthlimit: less than 500 characters
|
||||||
|
label_create_new_projects: Create a project
|
||||||
|
label_work_scores_people: The total number of users given scores
|
||||||
|
label_project_new_description: A project can be used to do anything that requires distributed collaboration
|
||||||
|
label_project_grade: Score
|
||||||
|
label_user_for_project_grade: Score
|
||||||
|
label_relation_files: Select an existing resource
|
||||||
|
# Personal signature tips
|
||||||
|
label_my_brief_introduction: How are feeling today? Leave your footprints ~
|
||||||
|
label_submit: Submit
|
||||||
|
# create course and course info
|
||||||
|
label_tags_course_name: Course Title
|
||||||
|
label_new_course_password: Password
|
||||||
|
label_new_course_description: Description
|
||||||
|
field_open_student: Student list is public?
|
||||||
|
label_course_board: Forum
|
||||||
|
label_course_open_student_info: (Tick as "open list of students," if not open, the external person couldn't see the list of students)
|
||||||
|
label_teacher_list: Teacher list
|
||||||
|
label_student_list: Student list
|
||||||
|
label_export_excel: Export list
|
||||||
|
label_course_organizers: Institute
|
||||||
|
label_poll: Questionnaire
|
||||||
|
# homework info and anonymous info
|
||||||
|
field_open_anonymous_evaluation: Use anonymous mutual-evaluation
|
||||||
|
field_evaluation_num: Number of anonymous works sent to each student
|
||||||
|
label_edit_homework: Update homework
|
||||||
|
label_homework_list: Work list
|
||||||
|
label_teacher_score: Teacher's score
|
||||||
|
label_time: Commit time
|
||||||
|
label_student_score: Student's score
|
||||||
|
label_without_score: No evaluated
|
||||||
|
label_homework_description: Description
|
||||||
|
label_responses: Messages
|
||||||
|
lable_has_commit_homework: You have submitted your work
|
||||||
|
label_user_create_project_homework: created the task
|
||||||
|
label_commit_limit: Expired but can submit your work
|
||||||
|
# steam the student
|
||||||
|
label_current_group: Current group
|
||||||
|
# DTS Test tool
|
||||||
|
project_module_dts: DTS Test tool
|
||||||
|
label_module_share: DTS Test tool
|
||||||
|
field_dts_test: DTS Test tool
|
||||||
|
# Feedback module
|
||||||
|
label_technical_support: Support :
|
||||||
|
label_feedback: Feedback
|
||||||
|
#end
|
||||||
label_user: User
|
label_user: User
|
||||||
label_user_plural: Users
|
label_user_plural: Users
|
||||||
label_user_new: New user
|
label_user_new: New user
|
||||||
|
@ -570,7 +636,7 @@ en:
|
||||||
label_project_latest: Latest projects
|
label_project_latest: Latest projects
|
||||||
label_issue: Issue
|
label_issue: Issue
|
||||||
label_issue_new: New issue
|
label_issue_new: New issue
|
||||||
label_issue_plural: Issues
|
label_issue_plural: Issues Tracking
|
||||||
label_issue_view_all: View all issues
|
label_issue_view_all: View all issues
|
||||||
label_issues_by: "Issues by %{value}"
|
label_issues_by: "Issues by %{value}"
|
||||||
label_issue_added: Issue added
|
label_issue_added: Issue added
|
||||||
|
@ -618,12 +684,15 @@ en:
|
||||||
label_home: Home
|
label_home: Home
|
||||||
label_my_page: My page
|
label_my_page: My page
|
||||||
label_my_account: My account
|
label_my_account: My account
|
||||||
label_my_message: My messages
|
label_my_message: Msgs
|
||||||
label_my_projects: My projects
|
label_my_projects: My projects
|
||||||
label_my_page_block: My page block
|
label_my_page_block: My page block
|
||||||
label_administration: Administration
|
label_administration: Administration
|
||||||
label_login: Login
|
label_login: Login
|
||||||
label_logout: Sign out
|
# edit by meng
|
||||||
|
# Logout
|
||||||
|
label_logout: Logout
|
||||||
|
# end
|
||||||
label_help: Help
|
label_help: Help
|
||||||
label_reported_issues: Reported issues
|
label_reported_issues: Reported issues
|
||||||
label_assigned_to_me_issues: Issues assigned to me
|
label_assigned_to_me_issues: Issues assigned to me
|
||||||
|
@ -1249,6 +1318,7 @@ en:
|
||||||
|
|
||||||
#fq
|
#fq
|
||||||
button_leave_meassge: Submit
|
button_leave_meassge: Submit
|
||||||
|
button_clear_meassge: Reset
|
||||||
label_leave_message_to: leave %{name} a message
|
label_leave_message_to: leave %{name} a message
|
||||||
label_leave_message: Message content
|
label_leave_message: Message content
|
||||||
label_message: message board
|
label_message: message board
|
||||||
|
@ -1350,9 +1420,9 @@ en:
|
||||||
label_leave_others_message: leave message to him/her
|
label_leave_others_message: leave message to him/her
|
||||||
label_leave_a_message: Leave him/her a message:
|
label_leave_a_message: Leave him/her a message:
|
||||||
label_leave_your_message: Leave a message to you
|
label_leave_your_message: Leave a message to you
|
||||||
label_new_activities: ' has new activity in' # modified by bai
|
label_new_activities: ' has a new activity in' # modified by bai
|
||||||
label_new_activity: ' has new activity in'
|
label_new_activity: ' has a new activity in'
|
||||||
label_i_new_activity: ' have new activity in'
|
label_i_new_activity: ' have a new activity in'
|
||||||
label_create_project: had participated in
|
label_create_project: had participated in
|
||||||
label_praise: praise
|
label_praise: praise
|
||||||
label_cancel_praise: cancel praise
|
label_cancel_praise: cancel praise
|
||||||
|
@ -1631,7 +1701,7 @@ en:
|
||||||
label_bids_form_contest_new_description: Enterprise or college can release a contest here.
|
label_bids_form_contest_new_description: Enterprise or college can release a contest here.
|
||||||
label_contest_name: Input the name of the contest
|
label_contest_name: Input the name of the contest
|
||||||
label_contest_description: Content:description your contest
|
label_contest_description: Content:description your contest
|
||||||
label_main_teacher: Main teacher
|
label_main_teacher: Lecturer
|
||||||
label_main_term: Term
|
label_main_term: Term
|
||||||
label_teacher_work_unit: Position
|
label_teacher_work_unit: Position
|
||||||
label_course_overview: Status
|
label_course_overview: Status
|
||||||
|
@ -1698,7 +1768,7 @@ en:
|
||||||
label_reply_empty: Reply Cann't Empty.
|
label_reply_empty: Reply Cann't Empty.
|
||||||
label_setup_time: Start date
|
label_setup_time: Start date
|
||||||
label_endup_time: Over date
|
label_endup_time: Over date
|
||||||
label_class_period: Class hour
|
label_class_period: Lessons
|
||||||
label_class_hour: period
|
label_class_hour: period
|
||||||
label_activity_time: publish date
|
label_activity_time: publish date
|
||||||
|
|
||||||
|
|
|
@ -252,7 +252,7 @@ zh:
|
||||||
mail_body_wiki_content_updated: "'%{id}' wiki页面已由 %{author} 更新。"
|
mail_body_wiki_content_updated: "'%{id}' wiki页面已由 %{author} 更新。"
|
||||||
|
|
||||||
# edit by meng
|
# edit by meng
|
||||||
# emailer
|
# 邮件中文格式
|
||||||
mail_issue_greetings: "亲爱的Trustie用户,您好!"
|
mail_issue_greetings: "亲爱的Trustie用户,您好!"
|
||||||
mail_issue_footer: "退订该邮件!"
|
mail_issue_footer: "退订该邮件!"
|
||||||
mail_issue_title_userin: "在"
|
mail_issue_title_userin: "在"
|
||||||
|
@ -263,8 +263,17 @@ zh:
|
||||||
mail_issue_from_project: "项目问题跟踪"
|
mail_issue_from_project: "项目问题跟踪"
|
||||||
mail_issue_attachments: "附件:"
|
mail_issue_attachments: "附件:"
|
||||||
mail_issue_reply: "我要回复"
|
mail_issue_reply: "我要回复"
|
||||||
#end
|
# end
|
||||||
|
# modified by meng
|
||||||
|
# 课程资源上传
|
||||||
|
label_file_upload: 资源文件
|
||||||
|
label_file_upload_error_messages: "上传出现错误,请您检查您的网络环境,并刷新页面重新上传。"
|
||||||
|
button_confirm: 确认
|
||||||
|
# 教师权限课程关闭和重启
|
||||||
|
label_course_closed: 关闭
|
||||||
|
label_course_reload: 重开
|
||||||
|
label_course_closed_tips: "确定要%{desc}课程?"
|
||||||
|
# end
|
||||||
field_name: 名称
|
field_name: 名称
|
||||||
#added by huang
|
#added by huang
|
||||||
field_tea_name: 教师
|
field_tea_name: 教师
|
||||||
|
@ -587,7 +596,7 @@ zh:
|
||||||
label_project_latest: 最近的项目
|
label_project_latest: 最近的项目
|
||||||
label_issue: 问题
|
label_issue: 问题
|
||||||
label_issue_new: 新建问题
|
label_issue_new: 新建问题
|
||||||
label_issue_plural: 缺陷
|
label_issue_plural: 问题跟踪
|
||||||
label_issue_view_all: 查看所有问题
|
label_issue_view_all: 查看所有问题
|
||||||
label_issues_by: "按 %{value} 分组显示问题"
|
label_issues_by: "按 %{value} 分组显示问题"
|
||||||
label_issue_added: 问题已添加
|
label_issue_added: 问题已添加
|
||||||
|
@ -1030,7 +1039,7 @@ zh:
|
||||||
label_user_activities_other: 该用户暂无任何动态!
|
label_user_activities_other: 该用户暂无任何动态!
|
||||||
label_project_overview: "概述"
|
label_project_overview: "概述"
|
||||||
label_project_tool: "项目工具集"
|
label_project_tool: "项目工具集"
|
||||||
label_project_issues: "缺陷"
|
label_project_issues: "问题"
|
||||||
label_project_newother: "查看其他评论"
|
label_project_newother: "查看其他评论"
|
||||||
label_project_newshare: "分享了"
|
label_project_newshare: "分享了"
|
||||||
label_project_notice: "发布了通知:"
|
label_project_notice: "发布了通知:"
|
||||||
|
|
|
@ -67,6 +67,7 @@ RedmineApp::Application.routes.draw do
|
||||||
get 'publish_poll'
|
get 'publish_poll'
|
||||||
get 'republish_poll'
|
get 'republish_poll'
|
||||||
get 'poll_result'
|
get 'poll_result'
|
||||||
|
get 'close_poll'
|
||||||
end
|
end
|
||||||
collection do
|
collection do
|
||||||
delete 'delete_poll_question'
|
delete 'delete_poll_question'
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
class AddShowResult < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
add_column :polls, :show_result, :integer, default: 1
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
remove_column :polls, :show_result
|
||||||
|
end
|
||||||
|
end
|
15
db/schema.rb
15
db/schema.rb
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20150121030451) do
|
ActiveRecord::Schema.define(:version => 20150123020615) do
|
||||||
|
|
||||||
create_table "activities", :force => true do |t|
|
create_table "activities", :force => true do |t|
|
||||||
t.integer "act_id", :null => false
|
t.integer "act_id", :null => false
|
||||||
|
@ -23,18 +23,6 @@ ActiveRecord::Schema.define(:version => 20150121030451) do
|
||||||
add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type"
|
add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type"
|
||||||
add_index "activities", ["user_id"], :name => "index_activities_on_user_id"
|
add_index "activities", ["user_id"], :name => "index_activities_on_user_id"
|
||||||
|
|
||||||
create_table "api_keys", :force => true do |t|
|
|
||||||
t.string "access_token"
|
|
||||||
t.datetime "expires_at"
|
|
||||||
t.integer "user_id"
|
|
||||||
t.boolean "active", :default => true
|
|
||||||
t.datetime "created_at", :null => false
|
|
||||||
t.datetime "updated_at", :null => false
|
|
||||||
end
|
|
||||||
|
|
||||||
add_index "api_keys", ["access_token"], :name => "index_api_keys_on_access_token"
|
|
||||||
add_index "api_keys", ["user_id"], :name => "index_api_keys_on_user_id"
|
|
||||||
|
|
||||||
create_table "applied_projects", :force => true do |t|
|
create_table "applied_projects", :force => true do |t|
|
||||||
t.integer "project_id", :null => false
|
t.integer "project_id", :null => false
|
||||||
t.integer "user_id", :null => false
|
t.integer "user_id", :null => false
|
||||||
|
@ -847,6 +835,7 @@ ActiveRecord::Schema.define(:version => 20150121030451) do
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.text "polls_description"
|
t.text "polls_description"
|
||||||
|
t.integer "show_result", :default => 1
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "praise_tread_caches", :force => true do |t|
|
create_table "praise_tread_caches", :force => true do |t|
|
||||||
|
|
|
@ -2916,4 +2916,5 @@ input[class~='m3p10'], .m3p10 {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
cursor:pointer;
|
||||||
}
|
}
|
|
@ -1,17 +1,17 @@
|
||||||
/* CSS Document */
|
/* CSS Document */
|
||||||
#polls{ font-size:12px; font-family:"微软雅黑","宋体" !important; line-height:1.9; background:#fff; font-style:normal;}
|
#polls{ font-size:12px; font-family:"微软雅黑","宋体" !important; line-height:1.9; background:#fff; font-style:normal;}
|
||||||
div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span{ margin:0; padding:0;}
|
div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span{ margin:0; padding:0;}
|
||||||
#polls div,img,tr,td{ border:0;}
|
div,img,tr,td{ border:0;}
|
||||||
#polls table,tr,td{border:0; cellspacing:0; cellpadding:0;}
|
table,tr,td{border:0; cellspacing:0; cellpadding:0;}
|
||||||
#polls ul,li{ list-style-type:none}
|
ul,li{ list-style-type:none}
|
||||||
#polls .cl{ clear:both; overflow:hidden; }
|
.cl{ clear:both; overflow:hidden; }
|
||||||
#polls a{ text-decoration:none; }
|
a{ text-decoration:none; }
|
||||||
#polls a:hover{ text-decoration:underline; }
|
a:hover{ text-decoration:underline; }
|
||||||
#polls .ml10{ margin-left:10px;}
|
.ml10{ margin-left:10px;}
|
||||||
#polls .ml20{ margin-left:20px;}
|
.ml20{ margin-left:20px;}
|
||||||
#polls .mr10{ margin-right:10px;}
|
.mr10{ margin-right:10px;}
|
||||||
#polls .fl{ float: left;}
|
.fl{ float: left;}
|
||||||
#polls .fr{ float:right;}
|
.fr{ float:right;}
|
||||||
|
|
||||||
/*问卷按钮*/
|
/*问卷按钮*/
|
||||||
/*.polls_btn{ height:33px;border-top:1px solid #15bed1; border-bottom:1px solid #15bed1;border-right:1px solid #cee6e6; width:225px; padding:7px 0 0 15px; }*/
|
/*.polls_btn{ height:33px;border-top:1px solid #15bed1; border-bottom:1px solid #15bed1;border-right:1px solid #cee6e6; width:225px; padding:7px 0 0 15px; }*/
|
||||||
|
@ -31,7 +31,7 @@ a.polls_title{ font-weight:bold; color:#3e6d8e;max-width: 300px;white-space: now
|
||||||
a.pollsbtn{ display:block; width:66px; height:22px; text-align:center; border:1px solid #64bdd9; color:#64bdd9;}
|
a.pollsbtn{ display:block; width:66px; height:22px; text-align:center; border:1px solid #64bdd9; color:#64bdd9;}
|
||||||
a:hover.pollsbtn{ background:#64bdd9; color:#fff; text-decoration:none;}
|
a:hover.pollsbtn{ background:#64bdd9; color:#fff; text-decoration:none;}
|
||||||
.polls_date{ color:#666666;}
|
.polls_date{ color:#666666;}
|
||||||
.polls_de{ color:#6883b6;}
|
.polls_de{ color:#6883b6;padding-left: 5px;}
|
||||||
/****翻页***/
|
/****翻页***/
|
||||||
ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; }
|
ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; }
|
||||||
ul.wlist li{float: left;}
|
ul.wlist li{float: left;}
|
||||||
|
@ -41,7 +41,7 @@ ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
|
||||||
|
|
||||||
|
|
||||||
/*问卷页面*/
|
/*问卷页面*/
|
||||||
.polls_box{ border:1px solid #dcdcdc; padding:15px 30px;}
|
.polls_box{ border:1px solid #dcdcdc; padding:15px 30px;margin-left: 7px;}
|
||||||
.ur_page_title{ font-size:16px; text-align:center; color:#353535; word-break:break-all; word-wrap:break-word;}
|
.ur_page_title{ font-size:16px; text-align:center; color:#353535; word-break:break-all; word-wrap:break-word;}
|
||||||
.ur_prefix_content{ color:#656565; text-indent:30px; margin-top:10px; }
|
.ur_prefix_content{ color:#656565; text-indent:30px; margin-top:10px; }
|
||||||
.ur_card{border-top:1px solid #dcdcdc;margin-top:20px; color:#3a3a3a;}
|
.ur_card{border-top:1px solid #dcdcdc;margin-top:20px; color:#3a3a3a;}
|
||||||
|
@ -113,7 +113,7 @@ a:hover.icon_add{background:url(images/icons.png) -20px -310px no-repeat;}
|
||||||
a:hover.icon_remove{background:url(images/icons.png) -20px -338px no-repeat;}
|
a:hover.icon_remove{background:url(images/icons.png) -20px -338px no-repeat;}
|
||||||
.ur_editor_toolbar{ margin-bottom:10px;}
|
.ur_editor_toolbar{ margin-bottom:10px;}
|
||||||
.ur_editor_toolbar input{ width:40px; height:20px;}
|
.ur_editor_toolbar input{ width:40px; height:20px;}
|
||||||
.ur_editor02{width:655px; border:1px solid #cbcbcb; padding:10px; margin-bottom:10px;}
|
.ur_editor02{width:655px; padding:10px; margin-bottom:10px;}
|
||||||
a.ur_button_submit{ display:block; width:106px; height:37px; margin:0 auto; background:#15bccf; color:#fff; font-size:16px; text-align:center; padding-top:3px; margin-bottom:10px; }
|
a.ur_button_submit{ display:block; width:106px; height:37px; margin:0 auto; background:#15bccf; color:#fff; font-size:16px; text-align:center; padding-top:3px; margin-bottom:10px; }
|
||||||
a:hover.ur_button_submit{ background:#0fa9bb; text-decoration:none;}
|
a:hover.ur_button_submit{ background:#0fa9bb; text-decoration:none;}
|
||||||
a.ur_icon_de{ background:url(images/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:right; margin-top:15px;}
|
a.ur_icon_de{ background:url(images/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:right; margin-top:15px;}
|
||||||
|
@ -143,5 +143,5 @@ a.btn_pu{ border:1px solid #3cb761; color:#3cb761; }
|
||||||
a:hover.btn_pu{ background:#3cb761;}
|
a:hover.btn_pu{ background:#3cb761;}
|
||||||
.pollsbtn_grey{ border:1px solid #b1b1b1; color:#b1b1b1; padding:0px 9px; }
|
.pollsbtn_grey{ border:1px solid #b1b1b1; color:#b1b1b1; padding:0px 9px; }
|
||||||
.polls_title_w { width:330px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
|
.polls_title_w { width:330px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
|
||||||
.polls_de_grey{ color:#b1b1b1;}
|
.polls_de_grey{ color:#b1b1b1;padding-left: 5px;}
|
||||||
.ml5{ margin-left:5px;}
|
.ml5{ margin-left:5px;}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
require 'faker'
|
||||||
|
|
||||||
|
FactoryGirl.define do
|
||||||
|
factory :user do
|
||||||
|
login "ExampleUser"
|
||||||
|
mail "user@example.com"
|
||||||
|
password "foobar"
|
||||||
|
password_confirmation "foobar"
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,140 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
describe User do
|
||||||
|
#测试数据验证
|
||||||
|
# before { @user = User.new(login: "ExampleUser" ,mail: "user@example.com",
|
||||||
|
# password: "foobar",password_confirmation: "foobar" ) }
|
||||||
|
before :each do
|
||||||
|
@user = User.new(login: "ExampleUser" ,mail: "user@example.com",
|
||||||
|
password: "foobar",password_confirmation: "foobar" )
|
||||||
|
end
|
||||||
|
subject { @user }#指定@user为测试对象
|
||||||
|
#属性存在性的测试
|
||||||
|
it { should respond_to(:login) }
|
||||||
|
it { should respond_to(:mail) }
|
||||||
|
|
||||||
|
#此处采用与构建的方式生成数据
|
||||||
|
# it"is invalid without login" do
|
||||||
|
# user=FactoryGirl.build(:user,login: nil)
|
||||||
|
# expect(user).to_not be_valid
|
||||||
|
# end
|
||||||
|
#用户名唯一性的测试
|
||||||
|
describe "when login is already taken" do
|
||||||
|
before do
|
||||||
|
user_with_same_login=@user.dup
|
||||||
|
user_with_same_login.save
|
||||||
|
end
|
||||||
|
it{should_not be_valid}
|
||||||
|
# it "should be valid" do
|
||||||
|
# expect(@user).to be_valid
|
||||||
|
# end
|
||||||
|
end
|
||||||
|
|
||||||
|
#邮箱唯一性测试
|
||||||
|
describe "when mail address is already taken " do
|
||||||
|
before do
|
||||||
|
user_with_same_mail=@user.dup#dup method copy mail
|
||||||
|
user_with_same_mail.mail=@user.mail.upcase#转大写
|
||||||
|
user_with_same_mail.save
|
||||||
|
end
|
||||||
|
it{should_not be_valid}
|
||||||
|
end
|
||||||
|
#邮箱唯一性测试2
|
||||||
|
# describe " is invalid with a same email address" do
|
||||||
|
# User.create(login:'peter',mail:'test@qq.com')#先保存一个合法的对象
|
||||||
|
# user1=User.new(login:'jim',mail:'testqq@.com')#再创建user1作为测试的对比对象
|
||||||
|
# # expect(user1).to have(1).errors_on(:mail)
|
||||||
|
# it{should_not be_valid}
|
||||||
|
# end
|
||||||
|
|
||||||
|
#login长度测试(login最大25字符)
|
||||||
|
describe "when the login is too long " do
|
||||||
|
before{@user.login='a'*25}
|
||||||
|
it{should be_valid}
|
||||||
|
end
|
||||||
|
#姓和名的长度测试
|
||||||
|
describe "when the first name is too long " do
|
||||||
|
before{@user.firstname='a'*30}
|
||||||
|
it{should_not be_valid}
|
||||||
|
end
|
||||||
|
describe "when the last name is too long " do
|
||||||
|
before{@user.lastname='a'*30}
|
||||||
|
it{should_not be_valid}
|
||||||
|
end
|
||||||
|
|
||||||
|
#login合法性的测试(符合正则表达式规则的用户名:数字英文)
|
||||||
|
describe "when login format is invalid" do
|
||||||
|
it"should be invalid" do
|
||||||
|
username=%w[aa!3 aaa%$&*! 1111==!]
|
||||||
|
username.each do |valid_username|
|
||||||
|
@user.login=valid_username
|
||||||
|
expect(@user).not_to be_valid
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "when login format is valid" do
|
||||||
|
it"should be valid" do
|
||||||
|
username = %w[jim123 123456 aaaaaa]
|
||||||
|
username.each do |valid_username|
|
||||||
|
@user.login=valid_username
|
||||||
|
expect(@user).to be_valid
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
#邮箱合法性测试,在模型user中邮箱使用了正则表达式
|
||||||
|
describe "is the mail valid" do
|
||||||
|
context "when mail format is invalid" do
|
||||||
|
it"should be invalid" do
|
||||||
|
address=%w[user@foo,com user_at_foo.org example.user@foo.foo@bar_baz.com foo@bar+baz.com]
|
||||||
|
address.each do |valid_address|
|
||||||
|
@user.mail=valid_address
|
||||||
|
expect(@user).not_to be_valid
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when mail format is valid" do
|
||||||
|
it"should be valid" do
|
||||||
|
addresses = %w[user@foo.COM A_US-ER@f.b.org frst.lst@foo.jp a+b@baz.cn]
|
||||||
|
addresses.each do |valid_address|
|
||||||
|
@user.mail=valid_address
|
||||||
|
expect(@user).not_to be_valid
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "when the mail is too long" do#邮箱长度验证的测试
|
||||||
|
before{@user.mail='a'*60}
|
||||||
|
it{should_not be_valid}
|
||||||
|
end
|
||||||
|
|
||||||
|
#验证两次输入的密码是否一致的测试
|
||||||
|
describe "when the password does not match confirmation" do
|
||||||
|
before{@user.password_confirmation="admin123"}
|
||||||
|
it{should_not be_valid}
|
||||||
|
end
|
||||||
|
|
||||||
|
#调用相关方法是否能返回期待的结果
|
||||||
|
#userInfo方法,选择项目成员时显示的用户信息的文字
|
||||||
|
describe "returns the user info when choice the members of the project" do
|
||||||
|
context "第一种情况" do
|
||||||
|
@user=User.new()
|
||||||
|
expect(@user.userInfo).to eq ''
|
||||||
|
end
|
||||||
|
context "二种情况" do
|
||||||
|
@user=User.new()
|
||||||
|
expect(@user.userInfo).to eq ''
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# def name
|
||||||
|
# [firstname, lastname].join(' ')
|
||||||
|
# end
|
||||||
|
# it "returns a contact's full name as a string" do
|
||||||
|
# contact = Contact.new(firstname: 'John', lastname: 'Doe',
|
||||||
|
# email: 'johndoe@example.com')
|
||||||
|
# expect(contact.name).to eq 'John Doe'#调用contact的name方法
|
||||||
|
# end
|
||||||
|
end
|
Loading…
Reference in New Issue