From 2de61aa6b5df32ee5154d743d591669bfbbee6d7 Mon Sep 17 00:00:00 2001 From: nieguanghui Date: Thu, 1 Aug 2013 19:52:30 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/index.html.erb | 32 ------------------ public/images/avatars/Project/6314 | Bin 36513 -> 3099 bytes .../stylesheets/application.css | 4 ++- 3 files changed, 3 insertions(+), 33 deletions(-) diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb index 8cebff65..efbd435b 100644 --- a/app/views/users/index.html.erb +++ b/app/views/users/index.html.erb @@ -94,36 +94,6 @@  
- - <% for user in @users -%>
<%= content_tag "p", "#{date_format_local(user.created_on)}#{l(:label_member_since)}", :class => "float_right member_since" %> @@ -142,12 +112,10 @@
<% end -%>
- - <% html_title(l(:label_user_plural)) -%> <% end -%> diff --git a/public/images/avatars/Project/6314 b/public/images/avatars/Project/6314 index 6c099118c4ebaa99d9db7e1204dc0d17073ff926..167048fefc950b5b76a20d4635dd797aa70ce171 100644 GIT binary patch literal 3099 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 literal 36513 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

(E5d4@$h@n444z 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 Date: Thu, 1 Aug 2013 20:26:19 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0app\controllers\shares=5F?= =?UTF-8?q?controller.rb=E5=8F=8A=E7=9B=B8=E5=85=B3=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=94=A8=E6=9D=A5=E4=BD=9C=E4=B8=BAapi=E6=BC=94=E7=A4=BA?= =?UTF-8?q?=E7=9A=84=E5=B0=8F=E4=BE=8B=E5=AD=90=EF=BC=8CClient.html?= =?UTF-8?q?=E6=94=BE=E5=9C=A8=E6=A0=B9=E7=9B=AE=E5=BD=95=E4=B8=8B=E4=BD=9C?= =?UTF-8?q?=E4=B8=BA=E6=BC=94=E7=A4=BA=E5=AE=A2=E6=88=B7=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client.html | 25 ++++++ app/assets/javascripts/shares.js | 2 + app/assets/stylesheets/scaffold.css | 56 +++++++++++++ app/assets/stylesheets/shares.css | 4 + app/controllers/shares_controller.rb | 92 ++++++++++++++++++++++ app/helpers/shares_helper.rb | 2 + app/models/share.rb | 3 + app/views/shares/_form.html.erb | 37 +++++++++ app/views/shares/edit.html.erb | 6 ++ app/views/shares/index.html.erb | 31 ++++++++ app/views/shares/new.html.erb | 5 ++ app/views/shares/show.html.erb | 30 +++++++ config/routes.rb | 3 + db/migrate/20130801081314_create_shares.rb | 13 +++ db/schema.rb | 13 +-- 15 files changed, 316 insertions(+), 6 deletions(-) create mode 100644 Client.html create mode 100644 app/assets/javascripts/shares.js create mode 100644 app/assets/stylesheets/scaffold.css create mode 100644 app/assets/stylesheets/shares.css create mode 100644 app/controllers/shares_controller.rb create mode 100644 app/helpers/shares_helper.rb create mode 100644 app/models/share.rb create mode 100644 app/views/shares/_form.html.erb create mode 100644 app/views/shares/edit.html.erb create mode 100644 app/views/shares/index.html.erb create mode 100644 app/views/shares/new.html.erb create mode 100644 app/views/shares/show.html.erb create mode 100644 db/migrate/20130801081314_create_shares.rb diff --git a/Client.html b/Client.html new file mode 100644 index 00000000..5ba9775f --- /dev/null +++ b/Client.html @@ -0,0 +1,25 @@ + + + + +Client + + + + +


+

这是一张图片

+

photo Share A

+
+ +

这是一段视频

+

Text Share B

+
+ +

这是一篇文章

+

Text Share C

+
+ + + + \ No newline at end of file diff --git a/app/assets/javascripts/shares.js b/app/assets/javascripts/shares.js new file mode 100644 index 00000000..dee720fa --- /dev/null +++ b/app/assets/javascripts/shares.js @@ -0,0 +1,2 @@ +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. diff --git a/app/assets/stylesheets/scaffold.css b/app/assets/stylesheets/scaffold.css new file mode 100644 index 00000000..1ae70002 --- /dev/null +++ b/app/assets/stylesheets/scaffold.css @@ -0,0 +1,56 @@ +body { background-color: #fff; color: #333; } + +body, p, ol, ul, td { + font-family: verdana, arial, helvetica, sans-serif; + font-size: 13px; + line-height: 18px; +} + +pre { + background-color: #eee; + padding: 10px; + font-size: 11px; +} + +a { color: #000; } +a:visited { color: #666; } +a:hover { color: #fff; background-color:#000; } + +div.field, div.actions { + margin-bottom: 10px; +} + +#notice { + color: green; +} + +.field_with_errors { + padding: 2px; + background-color: red; + display: table; +} + +#error_explanation { + width: 450px; + border: 2px solid red; + padding: 7px; + padding-bottom: 0; + margin-bottom: 20px; + background-color: #f0f0f0; +} + +#error_explanation h2 { + text-align: left; + font-weight: bold; + padding: 5px 5px 5px 15px; + font-size: 12px; + margin: -7px; + margin-bottom: 0px; + background-color: #c00; + color: #fff; +} + +#error_explanation ul li { + font-size: 12px; + list-style: square; +} diff --git a/app/assets/stylesheets/shares.css b/app/assets/stylesheets/shares.css new file mode 100644 index 00000000..afad32db --- /dev/null +++ b/app/assets/stylesheets/shares.css @@ -0,0 +1,4 @@ +/* + Place all the styles related to the matching controller here. + They will automatically be included in application.css. +*/ diff --git a/app/controllers/shares_controller.rb b/app/controllers/shares_controller.rb new file mode 100644 index 00000000..9a76d26b --- /dev/null +++ b/app/controllers/shares_controller.rb @@ -0,0 +1,92 @@ +class SharesController < ApplicationController + # GET /shares + # GET /shares.json + def index + @shares = Share.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @shares } + end + end + + # GET /shares/1 + # GET /shares/1.json + def show + @share = Share.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @share } + end + end + + # GET /shares/new + # GET /shares/new.json + def new + @share = Share.new + + #add by mkz 鎶撳彇鍙傛暟浼犵粰share + @share[:access_token] = params[:access_token] + @share[:comment] = params[:comment] + @share[:title] = params[:title] + @share[:url] = params[:url] + @share[:share_type] = params[:share_type] + @share.save + # + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @share } + end + end + + # GET /shares/1/edit + def edit + @share = Share.find(params[:id]) + end + + # POST /shares + # POST /shares.json + def create + @share = Share.new(params[:share]) + + respond_to do |format| + if @share.save + format.html { redirect_to @share, notice: 'Share was successfully created.' } + format.json { render json: @share, status: :created, location: @share } + else + format.html { render action: "new" } + format.json { render json: @share.errors, status: :unprocessable_entity } + end + end + end + + # PUT /shares/1 + # PUT /shares/1.json + def update + @share = Share.find(params[:id]) + + respond_to do |format| + if @share.update_attributes(params[:share]) + format.html { redirect_to @share, notice: 'Share was successfully updated.' } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @share.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /shares/1 + # DELETE /shares/1.json + def destroy + @share = Share.find(params[:id]) + @share.destroy + + respond_to do |format| + format.html { redirect_to shares_url } + format.json { head :no_content } + end + end +end diff --git a/app/helpers/shares_helper.rb b/app/helpers/shares_helper.rb new file mode 100644 index 00000000..e51aa8b8 --- /dev/null +++ b/app/helpers/shares_helper.rb @@ -0,0 +1,2 @@ +module SharesHelper +end diff --git a/app/models/share.rb b/app/models/share.rb new file mode 100644 index 00000000..f597ae79 --- /dev/null +++ b/app/models/share.rb @@ -0,0 +1,3 @@ +class Share < ActiveRecord::Base + attr_accessible :access_token, :comment, :share_type, :title, :url +end diff --git a/app/views/shares/_form.html.erb b/app/views/shares/_form.html.erb new file mode 100644 index 00000000..3cf30386 --- /dev/null +++ b/app/views/shares/_form.html.erb @@ -0,0 +1,37 @@ +<%= form_for(@share) do |f| %> + <% if @share.errors.any? %> +
+

<%= pluralize(@share.errors.count, "error") %> prohibited this share from being saved:

+ +
    + <% @share.errors.full_messages.each do |msg| %> +
  • <%= msg %>
  • + <% end %> +
+
+ <% end %> + +
+ <%= f.label :access_token %>
+ <%= f.text_field :access_token %> +
+
+ <%= f.label :comment %>
+ <%= f.text_field :comment %> +
+
+ <%= f.label :url %>
+ <%= f.text_field :url %> +
+
+ <%= f.label :title %>
+ <%= f.text_field :title %> +
+
+ <%= f.label :share_type %>
+ <%= f.number_field :share_type %> +
+
+ <%= f.submit %> +
+<% end %> diff --git a/app/views/shares/edit.html.erb b/app/views/shares/edit.html.erb new file mode 100644 index 00000000..b54061dd --- /dev/null +++ b/app/views/shares/edit.html.erb @@ -0,0 +1,6 @@ +

Editing share

+ +<%= render 'form' %> + +<%= link_to 'Show', @share %> | +<%= link_to 'Back', shares_path %> diff --git a/app/views/shares/index.html.erb b/app/views/shares/index.html.erb new file mode 100644 index 00000000..fe06463b --- /dev/null +++ b/app/views/shares/index.html.erb @@ -0,0 +1,31 @@ +

Listing shares

+ + + + + + + + + + + + + +<% @shares.each do |share| %> + + + + + + + + + + +<% end %> +
Access tokenCommentUrlTitleShare type
<%= share.access_token %><%= share.comment %><%= share.url %><%= share.title %><%= share.share_type %><%= link_to 'Show', share %><%= link_to 'Edit', edit_share_path(share) %><%= link_to 'Destroy', share, method: :delete, data: { confirm: 'Are you sure?' } %>
+ +
+ +<%= link_to 'New Share', new_share_path %> diff --git a/app/views/shares/new.html.erb b/app/views/shares/new.html.erb new file mode 100644 index 00000000..919a9f4b --- /dev/null +++ b/app/views/shares/new.html.erb @@ -0,0 +1,5 @@ +

New share

+ +<%= render 'form' %> + +<%= link_to 'Back', shares_path %> diff --git a/app/views/shares/show.html.erb b/app/views/shares/show.html.erb new file mode 100644 index 00000000..7744914e --- /dev/null +++ b/app/views/shares/show.html.erb @@ -0,0 +1,30 @@ +

<%= notice %>

+ +

+ Access token: + <%= @share.access_token %> +

+ +

+ Comment: + <%= @share.comment %> +

+ +

+ Url: + <%= @share.url %> +

+ +

+ Title: + <%= @share.title %> +

+ +

+ Share type: + <%= @share.share_type %> +

+ + +<%= link_to 'Edit', edit_share_path(@share) %> | +<%= link_to 'Back', shares_path %> diff --git a/config/routes.rb b/config/routes.rb index 51daeb28..481fd057 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -16,6 +16,9 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. RedmineApp::Application.routes.draw do + resources :shares + + get "tags/index" get "tags/show" diff --git a/db/migrate/20130801081314_create_shares.rb b/db/migrate/20130801081314_create_shares.rb new file mode 100644 index 00000000..755de055 --- /dev/null +++ b/db/migrate/20130801081314_create_shares.rb @@ -0,0 +1,13 @@ +class CreateShares < ActiveRecord::Migration + def change + create_table :shares do |t| + t.string :access_token + t.string :comment + t.string :url + t.string :title + t.integer :share_type + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index a6de651e..4bae3d3b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130729033444) do +ActiveRecord::Schema.define(:version => 20130801081314) do create_table "a_user_watchers", :force => true do |t| t.string "name" @@ -516,12 +516,13 @@ ActiveRecord::Schema.define(:version => 20130729033444) do add_index "settings", ["name"], :name => "index_settings_on_name" create_table "shares", :force => true do |t| - t.string "title" - t.string "type" + t.string "access_token" + t.string "comment" t.string "url" - t.date "created_on" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.string "title" + t.integer "share_type" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "students", :force => true do |t| From 19f97e9b1cab06e56e4cb920c7a80214dbbf568d Mon Sep 17 00:00:00 2001 From: nieguanghui Date: Thu, 1 Aug 2013 20:33:19 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/images/avatars/Project/6314 | Bin 3099 -> 9010 bytes .../stylesheets/application.css | 11 +++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/public/images/avatars/Project/6314 b/public/images/avatars/Project/6314 index 167048fefc950b5b76a20d4635dd797aa70ce171..b58caabfad33b7bf73a10a3925b9993b66fb54c1 100644 GIT binary patch delta 6374 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 delta 416 zcmV;R0bl;IMw=KmiBL{Q4GJ0x0000DNk~Le0000O0000O2m$~A0B;qluK)l532;bR za{vGf6951U69E94oEWh-hYEiINJ&INRCwCdRjY1X?2D4zYeO{9ul1Wy?N zJ5=%qPz2T~;Bstkj)=`)BMy*TPZjkouz0`$>jVHWz4+cE6ZZ2W0YDaaYC4NnWS`}- zK9ccrRO;%xCaodKSxjIc_etB(L9xlTO#uE9)J?SKE91Cwv##W(?U>W0ncj8@AabQO zDn9m|o1RABZ%C0o%7(04tW(--Ph^DXl1KYB(LevNX@Bl7@;(5CB4PhR5<6%B0000< KMNUMnLSTZxBC_59 diff --git a/public/themes/redpenny-master/stylesheets/application.css b/public/themes/redpenny-master/stylesheets/application.css index 570c390b..add8f78f 100644 --- a/public/themes/redpenny-master/stylesheets/application.css +++ b/public/themes/redpenny-master/stylesheets/application.css @@ -1072,7 +1072,7 @@ div.wiki-description { float: left; margin-left: 20px; margin-top: 10px; - width: 427px; + width: 470px; max-height: 121px; font-family: helvetica,arial,sans-serif; color: rgb(0, 0, 0); @@ -1199,6 +1199,10 @@ a.img-tag3{ width: 908px; margin-bottom: 5px; } + +.add-info a { + margin-left: 60px; +} .main-language { float: left; height: 18px; @@ -1416,7 +1420,7 @@ div.autoscroll li{ list-style-type: none; } -div.autoscroll li.hascontextmenu{ +div.autoscroll li.hascontextmenu-1{ position: relative; display: block; margin-bottom: -1px; @@ -1426,6 +1430,9 @@ div.autoscroll li.hascontextmenu{ width: 600px;/*by young*/ } +.hascontextmenu-1 a { + cursor: pointer ; +} div.autoscroll li.id { position: relative; top: 2px; From 4c5ba2b6dfb5f9e4ed1291c370f43dc41c55a942 Mon Sep 17 00:00:00 2001 From: william Date: Thu, 1 Aug 2013 20:38:38 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=CD=EA=C9=C6Tag=C4=A3=BF=E9=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/tags_controller.rb | 2 ++ app/models/tag.rb | 19 ------------ app/views/issues/show.html.erb | 3 +- app/views/layouts/_tag.html.erb | 28 ++++++++++++++--- app/views/layouts/base_bids.html.erb | 34 ++++++--------------- app/views/tags/_tag_search_results.html.erb | 1 - app/views/tags/index.html.erb | 16 ++++++++-- app/views/users/tag_save.js.erb | 12 +++++++- 8 files changed, 61 insertions(+), 54 deletions(-) delete mode 100644 app/models/tag.rb diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb index 229fc67a..34662d42 100644 --- a/app/controllers/tags_controller.rb +++ b/app/controllers/tags_controller.rb @@ -31,6 +31,8 @@ class TagsController < ApplicationController @obj = Project.find_by_id(@obj_id) when '3' then @obj = Issue.find_by_id(@obj_id) + when '4' then + @obj = Bid.find_by_id(@obj_id) else @obj = nil end diff --git a/app/models/tag.rb b/app/models/tag.rb deleted file mode 100644 index b6faeda5..00000000 --- a/app/models/tag.rb +++ /dev/null @@ -1,19 +0,0 @@ -class Tag < ActiveRecord::Base - attr_accessible :content -#娣诲姞浠g爜 - has_many :projects, :through => :project_tags - has_many :project_tags, :class_name => 'ProjectTags' - - #纭畾content涓嶄細琚噸澶嶅啓鍏 - validates_uniqueness_of :content - validates_presence_of :content - - #娣诲姞tag鍐呭 - def self.add_content(content) - @tag=Tag.new - @tag.content = content - @tag.save - true - end -end -#娣诲姞缁撴潫 \ No newline at end of file diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb index c7ce9a23..6e0609d6 100644 --- a/app/views/issues/show.html.erb +++ b/app/views/issues/show.html.erb @@ -29,8 +29,7 @@ <%= authoring @issue.created_on, @issue.author %>. <% if @issue.created_on != @issue.updated_on %> <%= l(:label_updated_time, time_tag(@issue.updated_on)).html_safe %>. - <% end %> - + <% end %>

diff --git a/app/views/layouts/_tag.html.erb b/app/views/layouts/_tag.html.erb index 04c62fd1..65d6c55c 100644 --- a/app/views/layouts/_tag.html.erb +++ b/app/views/layouts/_tag.html.erb @@ -1,7 +1,26 @@ - - - +
+ + + + <% if object_flag == '3' %> + <%= toggle_link (image_tag "/images/add.png"), 'put-tag-form-issue', {:focus => 'name'} %> +
+ <%= render :partial => "layouts/tag_name",:locals => {:obj => obj,:non_list_all => false ,:object_flag => object_flag} %> +
+ +
+<% else %> <%= toggle_link (image_tag "/images/add.png"), 'put-tag-form', {:focus => 'name'} %>
<%= render :partial => "layouts/tag_name",:locals => {:obj => obj,:non_list_all => false ,:object_flag => object_flag} %> @@ -17,4 +36,5 @@ <%= link_to_function l(:button_cancel), '$("#put-tag-form").hide();'%> <% end %>
- +
+<% end %> diff --git a/app/views/layouts/base_bids.html.erb b/app/views/layouts/base_bids.html.erb index f61d1d1c..350b1b5d 100644 --- a/app/views/layouts/base_bids.html.erb +++ b/app/views/layouts/base_bids.html.erb @@ -19,9 +19,8 @@
- - <%=render :partial => 'layouts/base_header'%> - + <%= render :partial => 'layouts/base_header'%> +