Merge branch 'szzh' of http://xianbo_trustie2@repository.trustie.net/xianbo/trustie2.git into szzh
This commit is contained in:
commit
e86ef8e6f0
|
@ -125,7 +125,6 @@ GEM
|
||||||
mocha (1.1.0)
|
mocha (1.1.0)
|
||||||
metaclass (~> 0.0.1)
|
metaclass (~> 0.0.1)
|
||||||
multi_json (1.10.1)
|
multi_json (1.10.1)
|
||||||
mysql2 (0.3.11)
|
|
||||||
mysql2 (0.3.11-x86-mingw32)
|
mysql2 (0.3.11-x86-mingw32)
|
||||||
net-ldap (0.3.1)
|
net-ldap (0.3.1)
|
||||||
nokogiri (1.6.3)
|
nokogiri (1.6.3)
|
||||||
|
|
|
@ -3,6 +3,6 @@ class WebFooterCompany < ActiveRecord::Base
|
||||||
validates :name, presence: true, length: { maximum: 500 }
|
validates :name, presence: true, length: { maximum: 500 }
|
||||||
validates :url, length: { maximum: 500 },
|
validates :url, length: { maximum: 500 },
|
||||||
format: { with: /(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/,
|
format: { with: /(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/,
|
||||||
message: l(:is_not_url_error)
|
message: :invalid
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if reply_allow %>
|
<% if reply_allow %>
|
||||||
<%= link_to l(:label_bid_respond_quote),'',
|
<%= link_to l(:label_bid_respond_quote),'',
|
||||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), '#{l(:label_reply_plural)} #{journal.user.name}: '); $('##{ids} textarea') ;return false;"} %>
|
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea')); $('##{ids} textarea') ;return false;"} %>
|
||||||
<%= link_to(l(:button_quote), contests_path(:id => contest,
|
<%= link_to(l(:button_quote), contests_path(:id => contest,
|
||||||
:journal_id => journal),
|
:journal_id => journal),
|
||||||
:remote => true,
|
:remote => true,
|
||||||
|
|
|
@ -1,23 +1,8 @@
|
||||||
<!-- fq -->
|
<!-- fq -->
|
||||||
<script type="text/javascript" language="javascript">
|
<div style="width: 80%; margin-left:10%;">
|
||||||
function clearInfo(id, content) {
|
<%= form_for('contest_message',
|
||||||
var text = $('#' + id);
|
:remote => true, :method => :post,
|
||||||
if (text.val() == content) {
|
:url => {:controller => 'contests',
|
||||||
$('#' + id).val('');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showInfo(id, content) {
|
|
||||||
var text = $('#' + id);
|
|
||||||
if (text.val() == '') {
|
|
||||||
$('#' + id).val(content);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<%= form_for('contest_message',
|
|
||||||
:remote => true, :method => :post,
|
|
||||||
:url => {:controller => 'contests',
|
|
||||||
:action => 'create',
|
:action => 'create',
|
||||||
:id => contest,
|
:id => contest,
|
||||||
:sta => sta}
|
:sta => sta}
|
||||||
|
@ -28,52 +13,24 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% if User.current.logged? %>
|
<% if User.current.logged? %>
|
||||||
<table border="0" width="525px" align="center" >
|
|
||||||
<tr>
|
|
||||||
|
|
||||||
<!-- modified by longjun 修改格式 -->
|
|
||||||
<td>
|
|
||||||
<%= f.text_area 'message',
|
<%= f.text_area 'message',
|
||||||
:rows => 3,
|
:rows => 3,
|
||||||
:cols => 65,
|
:cols => 65,
|
||||||
:placeholder => l(:label_my_respond),
|
:placeholder => l(:label_my_respond),
|
||||||
:style => "resize: none;",
|
:style => "resize: none; width: 98%",
|
||||||
:class => 'noline'
|
:class => 'noline',
|
||||||
|
:maxlength => 250
|
||||||
%>
|
%>
|
||||||
</td>
|
|
||||||
<!-- end longjun -->
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<%= f.text_field :reference_user_id, :style=>"display:none"%> <!--what function?-->
|
<%= f.text_field :reference_user_id, :style=>"display:none"%>
|
||||||
|
<%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise" , :style => "display: block; float: right; margin-right: 1%; margin-top: 1px;"%>
|
||||||
<!-- modified by bai -->
|
|
||||||
<table border="0" width="525px" align="center">
|
|
||||||
<tr>
|
|
||||||
<!-- modified by longjun 修改格式 -->
|
|
||||||
<td align="right">
|
|
||||||
<%= submit_tag l(:button_leave_meassge),
|
|
||||||
:name => nil ,
|
|
||||||
:class => "contest_btn",
|
|
||||||
:onmouseout => "this.style.backgroundPosition = 'left top'",
|
|
||||||
:onmouseover => "this.style.backgroundPosition = 'left -31px'"
|
|
||||||
%>
|
|
||||||
<%= submit_tag l(:button_clear_meassge),
|
|
||||||
:name => nil,
|
|
||||||
:onclick => "clearMessage('contest_message_message');",
|
|
||||||
:type => 'button', :class => "bid_btn",
|
|
||||||
:onmouseout => "this.style.backgroundPosition = 'left top'",
|
|
||||||
:onmouseover => "this.style.backgroundPosition = 'left -31px'"
|
|
||||||
%>
|
|
||||||
</td>
|
|
||||||
<!-- end longjun -->
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<!-- end -->
|
|
||||||
<% else %>
|
<% else %>
|
||||||
<div style="font-size: 14px;margin:10px;padding-left: 13px">
|
<div style="font-size: 14px;margin:10px;padding-left: 13px">
|
||||||
<%= l(:label_user_login_tips) %>
|
<%= l(:label_user_login_tips) %>
|
||||||
<%= link_to l(:label_user_login_new), signin_path %>
|
<%= link_to l(:label_user_login_new), signin_path %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
|
@ -4,5 +4,41 @@
|
||||||
<%= render :partial => 'contest_jours',
|
<%= render :partial => 'contest_jours',
|
||||||
:locals => { :contest => @contest, :journals => @jour, :state => false}
|
:locals => { :contest => @contest, :journals => @jour, :state => false}
|
||||||
%>
|
%>
|
||||||
|
<script>
|
||||||
|
var W3CDOM = document.createElement && document.getElementsByTagName;
|
||||||
|
|
||||||
|
window.onload = setMaxLength;
|
||||||
|
|
||||||
|
function setMaxLength() {
|
||||||
|
if (!W3CDOM) return;
|
||||||
|
var textareas = document.getElementsByTagName('textarea');
|
||||||
|
for (var i=0;i<textareas.length;i++) {
|
||||||
|
var textarea = textareas[i];
|
||||||
|
setMaxLengthItem(textareas[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setMaxLengthItem(textarea){
|
||||||
|
if (textarea.getAttribute('maxlength')) {
|
||||||
|
var counter = document.createElement('div');
|
||||||
|
counter.className = 'counter';
|
||||||
|
var counterClone = counter.cloneNode(true);
|
||||||
|
counterClone.innerHTML = '<span>0</span>/'+textarea.getAttribute('maxlength');
|
||||||
|
textarea.parentNode.insertBefore(counterClone,textarea.nextSibling);
|
||||||
|
textarea.relatedElement = counterClone.getElementsByTagName('span')[0];
|
||||||
|
textarea.onkeyup = textarea.onchange = checkMaxLength;
|
||||||
|
textarea.onkeyup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkMaxLength() {
|
||||||
|
var maxLength = this.getAttribute('maxlength');
|
||||||
|
var currentLength = this.value.length;
|
||||||
|
if (currentLength > maxLength)
|
||||||
|
this.relatedElement.className = 'toomuch';
|
||||||
|
else
|
||||||
|
this.relatedElement.className = '';
|
||||||
|
this.relatedElement.firstChild.nodeValue = currentLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
<% html_title(l(:label_user_response)) -%>
|
<% html_title(l(:label_user_response)) -%>
|
||||||
|
|
|
@ -17,13 +17,14 @@
|
||||||
<%= f.text_area 'course_message', :rows => 3, :cols => 65,
|
<%= f.text_area 'course_message', :rows => 3, :cols => 65,
|
||||||
:placeholder => "#{l(:label_welcome_my_respond)}",
|
:placeholder => "#{l(:label_welcome_my_respond)}",
|
||||||
:style => "resize: none; width: 98%",
|
:style => "resize: none; width: 98%",
|
||||||
:class => 'noline'%>
|
:class => 'noline',:maxlength => 250%>
|
||||||
<%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise" , :style => "display: block; float: right; margin-right: 1%; margin-top: 1px;"%>
|
<%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise" , :style => "display: block; float: right; margin-right: 1%; margin-top: 1px;"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="history">
|
<div id="history">
|
||||||
<%= render :partial => 'history',:locals => { :contest => @contest, :journals => @jour, :state => false} %>
|
<%= render :partial => 'history',:locals => { :contest => @contest, :journals => @jour, :state => false} %>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if reply_allow %>
|
<% if reply_allow %>
|
||||||
<%= link_to l(:label_bid_respond_quote),'',
|
<%= link_to l(:label_bid_respond_quote),'',
|
||||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), '#{l(:label_reply_plural)} #{journal.user.name}: '); $('##{ids} textarea') ;return false;"} %>
|
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea')); $('##{ids} textarea') ;return false;"} %>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -69,7 +69,9 @@
|
||||||
|
|
||||||
<% if User.current.logged? %>
|
<% if User.current.logged? %>
|
||||||
<%= f.text_area 'user_message', :rows => 3, :cols => 65,
|
<%= f.text_area 'user_message', :rows => 3, :cols => 65,
|
||||||
:style => "resize: none;", :class => 'noline', :placeholder => l(:text_caracters_maximum,:count=>250)%>
|
:style => "resize: none;", :class => 'noline', :placeholder => l(:text_caracters_maximum,:count=>250),
|
||||||
|
:maxlength => 250
|
||||||
|
%>
|
||||||
<%= f.text_field :reference_user_id, :style=>"display:none"%>
|
<%= f.text_field :reference_user_id, :style=>"display:none"%>
|
||||||
<div style="float:right">
|
<div style="float:right">
|
||||||
<a href="#" class="ping_sub1" id="jours_submit" onclick="submit1();"><%= l(:label_submit_comments) %></a>
|
<a href="#" class="ping_sub1" id="jours_submit" onclick="submit1();"><%= l(:label_submit_comments) %></a>
|
||||||
|
|
|
@ -1,6 +1,42 @@
|
||||||
<% reply_allow = JournalsForMessage.create_by_user? User.current %>
|
<% reply_allow = JournalsForMessage.create_by_user? User.current %>
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript">
|
<script type="text/javascript" language="javascript">
|
||||||
|
var W3CDOM = document.createElement && document.getElementsByTagName;
|
||||||
|
|
||||||
|
// window.onload = setMaxLength;
|
||||||
|
$(document).ready(setMaxLength());
|
||||||
|
function setMaxLength() {
|
||||||
|
if (!W3CDOM) return;
|
||||||
|
var textareas = document.getElementsByTagName('textarea');
|
||||||
|
for (var i=0;i<textareas.length;i++) {
|
||||||
|
var textarea = textareas[i];
|
||||||
|
setMaxLengthItem(textareas[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setMaxLengthItem(textarea){
|
||||||
|
if (textarea.getAttribute('maxlength')) {
|
||||||
|
var counter = document.createElement('div');
|
||||||
|
counter.className = 'counter';
|
||||||
|
var counterClone = counter.cloneNode(true);
|
||||||
|
counterClone.innerHTML = '<span>0</span>/'+textarea.getAttribute('maxlength');
|
||||||
|
textarea.parentNode.insertBefore(counterClone,textarea.nextSibling);
|
||||||
|
textarea.relatedElement = counterClone.getElementsByTagName('span')[0];
|
||||||
|
textarea.onkeyup = textarea.onchange = checkMaxLength;
|
||||||
|
textarea.onkeyup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkMaxLength() {
|
||||||
|
var maxLength = this.getAttribute('maxlength');
|
||||||
|
var currentLength = this.value.length;
|
||||||
|
if (currentLength > maxLength)
|
||||||
|
this.relatedElement.className = 'toomuch';
|
||||||
|
else
|
||||||
|
this.relatedElement.className = '';
|
||||||
|
this.relatedElement.firstChild.nodeValue = currentLength;
|
||||||
|
}
|
||||||
|
function test(){alert('test');}
|
||||||
//<!CDATA[
|
//<!CDATA[
|
||||||
function g(o){return document.getElementById(o);}
|
function g(o){return document.getElementById(o);}
|
||||||
function HoverLi(n){
|
function HoverLi(n){
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if reply_allow %>
|
<% if reply_allow %>
|
||||||
<%= link_to l(:label_bid_respond_quote),'',
|
<%= link_to l(:label_bid_respond_quote),'',
|
||||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), '#{l(:label_reply_plural)} #{journal.user.name}: '); $('##{ids} textarea') ;return false;"} %>
|
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea')); $('##{ids} textarea') ;return false;"} %>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -17,12 +17,12 @@
|
||||||
<%= f.text_area 'project_message', :rows => 3, :cols => 65,
|
<%= f.text_area 'project_message', :rows => 3, :cols => 65,
|
||||||
:placeholder => "#{l(:label_welcome_my_respond)}",
|
:placeholder => "#{l(:label_welcome_my_respond)}",
|
||||||
:style => "resize: none; width: 98%",
|
:style => "resize: none; width: 98%",
|
||||||
:class => 'noline'%>
|
:class => 'noline',:maxlength => 250%>
|
||||||
<%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise" , :style => "display: block; float: right; margin-right: 1%; margin-top: 1px;"%>
|
<%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise" , :style => "display: block; float: right; margin-right: 1%; margin-top: 1px;"%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="history">
|
<div id="history">
|
||||||
<%= render :partial => 'history',:locals => { :journals => @jour, :state => false} %>
|
<%= render :partial => 'history',:locals => { :journals => @jour, :state => false} %>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if reply_allow %>
|
<% if reply_allow %>
|
||||||
<%= link_to l(:label_bid_respond_quote),'',
|
<%= link_to l(:label_bid_respond_quote),'',
|
||||||
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea'), '#{l(:label_reply_plural)} #{journal.user.name}: '); $('##{ids} textarea') ;return false;"} %>
|
{:focus => 'project_respond', :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea')); $('##{ids} textarea') ;return false;"} %>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -12,3 +12,40 @@
|
||||||
</div>
|
</div>
|
||||||
<ul class="wlist"><%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%></ul>
|
<ul class="wlist"><%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%></ul>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
var W3CDOM = document.createElement && document.getElementsByTagName;
|
||||||
|
|
||||||
|
window.onload = setMaxLength;
|
||||||
|
|
||||||
|
function setMaxLength() {
|
||||||
|
if (!W3CDOM) return;
|
||||||
|
var textareas = document.getElementsByTagName('textarea');
|
||||||
|
for (var i=0;i<textareas.length;i++) {
|
||||||
|
var textarea = textareas[i];
|
||||||
|
setMaxLengthItem(textareas[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setMaxLengthItem(textarea){
|
||||||
|
if (textarea.getAttribute('maxlength')) {
|
||||||
|
var counter = document.createElement('div');
|
||||||
|
counter.className = 'counter';
|
||||||
|
var counterClone = counter.cloneNode(true);
|
||||||
|
counterClone.innerHTML = '<span>0</span>/'+textarea.getAttribute('maxlength');
|
||||||
|
textarea.parentNode.insertBefore(counterClone,textarea.nextSibling);
|
||||||
|
textarea.relatedElement = counterClone.getElementsByTagName('span')[0];
|
||||||
|
textarea.onkeyup = textarea.onchange = checkMaxLength;
|
||||||
|
textarea.onkeyup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkMaxLength() {
|
||||||
|
var maxLength = this.getAttribute('maxlength');
|
||||||
|
var currentLength = this.value.length;
|
||||||
|
if (currentLength > maxLength)
|
||||||
|
this.relatedElement.className = 'toomuch';
|
||||||
|
else
|
||||||
|
this.relatedElement.className = '';
|
||||||
|
this.relatedElement.firstChild.nodeValue = currentLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
|
@ -35,50 +35,31 @@
|
||||||
border: #d5dee9 1px solid;
|
border: #d5dee9 1px solid;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<div style="width: 80%; margin-left:10%;">
|
||||||
|
<%= form_for('new_form', :remote => true, :method => :post,
|
||||||
|
:url => {:controller => 'words',
|
||||||
|
:action => 'create',
|
||||||
|
:user_id => user.id,
|
||||||
|
:sta => sta}) do |f|%>
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript">
|
<div id = 'pre_show'>
|
||||||
function clearInfo(id, content) {
|
<%= render :partial => 'words/pre_show', :locals => {:content => @content} %>
|
||||||
var text = $('#' + id);
|
</div>
|
||||||
if (text.val() == content) {
|
|
||||||
$('#' + id).val('');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showInfo(id, content) {
|
<% if User.current.logged? %>
|
||||||
var text = $('#' + id);
|
<%= f.text_area 'user_message', :rows => 3, :cols => 65,
|
||||||
if (text.val() == '') {
|
:placeholder => "#{l(:label_leave_a_message)}",
|
||||||
$('#' + id).val(content);
|
:style => "resize: none; width: 98%",
|
||||||
}
|
:class => 'noline',:maxlength => 250%>
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<%= form_for('new_form', :remote => true, :method => :post,
|
<%= f.text_field :reference_user_id, :style=>"display:none"%>
|
||||||
:url => {:controller => 'words',
|
<%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise" , :style => "display: block; float: right; margin-right: 1%; margin-top: 1px;"%>
|
||||||
:action => 'create',
|
<% else %>
|
||||||
:user_id => user.id,
|
<div style="font-size: 14px;margin:10px;">
|
||||||
:sta => sta}) do |f|%>
|
<%= l(:label_user_login_tips) %>
|
||||||
|
<%= link_to l(:label_user_login_new), signin_path %>
|
||||||
<div id = 'pre_show'>
|
</div>
|
||||||
<%= render :partial => 'words/pre_show', :locals => {:content => @content} %>
|
<% end %>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% if User.current.logged? %>
|
|
||||||
<table border="0" width="525px" align="center" >
|
|
||||||
<tr>
|
|
||||||
<td><%= f.text_area 'user_message', :rows => 3, :cols => 65, :value => "#{l(:label_leave_a_message)}", :onfocus => "clearInfo('new_form_user_message','#{l(:label_leave_a_message)}')", :onblur => "showInfo('new_form_user_message','#{l(:label_leave_a_message)}')", :style => "resize: none;", :class => 'noline'%></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<%= f.text_field :reference_user_id, :style=>"display:none"%>
|
|
||||||
<table border="0" width="525px" align="center">
|
|
||||||
<tr>
|
|
||||||
<td align="right"> <%= submit_tag l(:button_leave_meassge), :name => nil , :class => "enterprise", :onmouseout => "this.style.backgroundPosition = 'left top'", :onmouseover => "this.style.backgroundPosition = 'left -31px'"%>
|
|
||||||
<%= submit_tag l(:button_cancel), :name => nil, :class => "enterprise", :onclick => "clearMessage('new_form_user_message');", :onmouseout => "this.style.backgroundPosition = 'left top'", :onmouseover => "this.style.backgroundPosition = 'left -31px'" %> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<% else %>
|
|
||||||
<div style="font-size: 14px;margin:10px;">
|
|
||||||
<%= l(:label_user_login_tips) %>
|
|
||||||
<%= link_to l(:label_user_login_new), signin_path %>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
|
|
|
@ -542,7 +542,7 @@ zh:
|
||||||
label_url_prompt: 网址需以"http://"或"https://"开头,例:http://forge.trustie.net
|
label_url_prompt: 网址需以"http://"或"https://"开头,例:http://forge.trustie.net
|
||||||
web_footer_company_create_fail: 合作单位创建失败
|
web_footer_company_create_fail: 合作单位创建失败
|
||||||
web_footer_company_update_fail: 合作单位更新失败
|
web_footer_company_update_fail: 合作单位更新失败
|
||||||
is_not_url_error: 不是正确的url
|
is_not_url_error: 不是正确的网址
|
||||||
label_x_projects:
|
label_x_projects:
|
||||||
zero: 无项目
|
zero: 无项目
|
||||||
one: 1 个项目
|
one: 1 个项目
|
||||||
|
|
Loading…
Reference in New Issue