[issue #279] Almost finished design for platforms

TODO:
  *  Add design for crontab generator
  *  Fix path generation
This commit is contained in:
George Vinogradov 2012-03-14 21:22:47 +04:00
parent 304141b1ba
commit 5a77b17a43
17 changed files with 215 additions and 125 deletions

View File

@ -554,3 +554,7 @@ div.dataTables_paginate.paging_will_paginate_like a.paginate_active {
div.dataTables_processing {
z-index: 999;
}
div.rightlist textarea {
resize: none;
}

View File

@ -60,7 +60,7 @@ class RepositoriesController < ApplicationController
else
flash[:error] = t('flash.repository.project_not_added')
end
redirect_to repository_path(@repository)
redirect_to platform_repository_path(@platform, @repository)
else
render :projects_list
end
@ -96,7 +96,7 @@ class RepositoriesController < ApplicationController
def remove_project
@project = Project.find(params[:project_id])
ProjectToRepository.where(:project_id => @project.id, :repository_id => @repository.id).destroy_all
redirect_to repository_path(@repository), :notice => t('flash.repository.project_removed')
redirect_to platform_repository_path(@platform, @repository), :notice => t('flash.repository.project_removed')
end
protected

View File

@ -0,0 +1,5 @@
%tr{:id => "row#{build_list_counter}"}
%td= link_to (build_list.bs_id.present? ? build_list.bs_id : t("layout.build_lists.bs_id_not_set")), build_list
%td= build_list.human_status
%td= link_to build_list.project.name, build_list.project
%td= build_list.notified_at

View File

@ -18,6 +18,7 @@
.leftlist= label_tag "", t("layout.platforms.admin_id"), :class => :label
.rightlist= autocomplete_field_tag 'admin_id', @admin_uname, autocomplete_user_uname_platforms_path, :id_element => '#admin_id_field'
= hidden_field_tag 'admin_id', @admin_id, :id => 'admin_id_field'
.both
.button_block
= submit_tag t("layout.clone")

View File

@ -8,6 +8,8 @@
.leftlist= f.label :description, :class => :label
.rightlist= f.text_field :description, :class => 'text_field'
.both
.button_block
= submit_tag t("layout.clone")
-#%input.button{:type => "submit", :class => "button"}

View File

@ -63,9 +63,9 @@
}
.group
= form.check_box :use_cron
= form.label :use_cron
.leftlist= form.label :use_cron
.rightlist= form.check_box :use_cron
.both
#genereator_btn
%a{ :href => "#" }= t("layout.products.cron_tab_generator.show")
@ -144,7 +144,7 @@
- Date::DAYNAMES.each_with_index do |day, index|
%option{ :value => index, :selected => @product.cron_tab_weekdays.include?(index) }= t("layout.weekdays.#{day}")
.group
= form.label :cron_tab, :class => :label
= form.text_field :cron_tab, :id => "cron", :class => "text_field", :style => "width: 40%", :disabled => !@product.use_cron, :value => @product.cron_tab
= @product.cron_command
.leftlist= form.label :cron_tab, :class => :label
.rightlist= form.text_field :cron_tab, :id => "cron", :class => "text_field", :style => "width: 40%", :disabled => !@product.use_cron, :value => @product.cron_tab
= @product.cron_command
.both

View File

@ -1,44 +1,55 @@
.group
= f.label :name, t("activerecord.attributes.product.name"), :class => :label
= f.text_field :name, :class => 'text_field'
.group
= f.label :build_script, t("activerecord.attributes.product.build_script"), :class => :label
= f.text_area :build_script, :class => 'text_field', :cols => 80
.group
= f.label :counter, t("activerecord.attributes.product.counter"), :class => :label
= f.text_area :counter, :class => 'text_field', :cols => 80
.group
= f.label :ks, t("activerecord.attributes.product.ks"), :class => :label
= f.text_area :ks, :class => 'text_field', :cols => 80
.group
= f.label :menu, t("activerecord.attributes.product.menu"), :class => :label
= f.text_area :menu, :class => 'text_field', :cols => 80
.group
%p
= f.label :tar, t("activerecord.attributes.product.tar"), :class => :label
= f.file_field :tar, :class => 'file_field'
%p
- if @product.tar?
= link_to @product.tar_file_name, @product.tar.url
= f.check_box :delete_tar
= f.label :delete_tar, t('layout.delete')
.leftlist= f.label :name, t("activerecord.attributes.product.name"), :class => :label
.rightlist= f.text_field :name, :class => 'text_field'
.both
.group
= render :partial => "products/crontab", :locals => { :form => f }
.leftlist= f.label :description, t("activerecord.attributes.product.description"), :class => :label
.rightlist= f.text_area :description, :class => 'text_field', :cols => 80
.both
.leftlist= f.label :build_script, t("activerecord.attributes.product.build_script"), :class => :label
.rightlist= f.text_area :build_script, :class => 'text_field', :cols => 80
.both
.leftlist= f.label :counter, t("activerecord.attributes.product.counter"), :class => :label
.rightlist= f.text_area :counter, :class => 'text_field', :cols => 80
.both
.leftlist= f.label :ks, t("activerecord.attributes.product.ks"), :class => :label
.rightlist= f.text_area :ks, :class => 'text_field', :cols => 80
.both
.leftlist= f.label :menu, t("activerecord.attributes.product.menu"), :class => :label
.rightlist= f.text_area :menu, :class => 'text_field', :cols => 80
.both
%p
.leftlist= f.label :tar, t("activerecord.attributes.product.tar"), :class => :label
.rightlist= f.file_field :tar, :class => 'file_field'
.both
%p
- if @product.tar?
.leftlist= link_to @product.tar_file_name, @product.tar.url
.both
%br
.leftlist= f.label :delete_tar, t('layout.delete')
.rightlist= f.check_box :delete_tar
.both
= render :partial => "products/crontab", :locals => { :form => f }
.group
= f.label :is_template, :class => :label
= f.check_box :is_template, :class => 'check_box'
.leftlist= f.label :is_template, :class => :label
.rightlist= f.check_box :is_template, :class => 'check_box'
- content_for :commented do
.group
= f.label :system_wide, :class => :label
= f.check_box :system_wide, :class => 'check_box'
.leftlist= f.label :system_wide, :class => :label
.rightlist= f.check_box :system_wide, :class => 'check_box'
.group.navform.wat-cf
%button.button{:type => "submit"}
= image_tag("choose.png", :alt => t("layout.save"))
= t("layout.save")
.both
.button_block
= submit_tag t("layout.save")
-#%input.button{:type => "submit", :class => "button"}
-#= image_tag("choose.png", :alt => t("layout.save"))
-#= t("layout.clone")
%span.text_button_padding= t("layout.or")
= link_to t("layout.cancel"), platform_path(@platform), :class => "text_button_padding link_button"
= link_to t("layout.cancel"), platform_path(@platform), :class => "button"

View File

@ -1,4 +1,15 @@
.block
= render :partial => 'platforms/submenu'
= render :partial => 'platforms/sidebar'
%h3
= t("layout.products.edit_header")
= link_to @product.name, platform_product_path(@platform, @product)
%br
= form_for [@platform, @product], :html => { :class => :form, :multipart => true } do |f|
= render :partial => "form", :locals => {:f => f}
-#.block
.secondary-navigation
%ul.wat-cf
%li.first= link_to @platform.name, platform_path(@platform) + "#products"

View File

@ -1,4 +1,10 @@
.block
= render :partial => 'platforms/submenu'
= render :partial => 'platforms/sidebar'
= form_for [@platform, @product], :html => { :class => :form, :multipart => true } do |f|
= render :partial => "form", :locals => {:f => f}
-#.block
.secondary-navigation
%ul.wat-cf
%li.first= link_to @platform.name, platform_path(@platform) + "#products"

View File

@ -1,4 +1,32 @@
.block
= render :partial => 'platforms/submenu'
= render :partial => 'platforms/sidebar'
%h3= "#{t("layout.products.about")} #{@product.name}"
%p= @product.description
.buttons_block
- if can? :update, @product
= link_to image_tag("code.png", :alt => t("layout.edit")) + " " + t("layout.edit"), edit_platform_product_path(@platform, @product), :class => "button"
- if can? :destroy, @product
= link_to image_tag("x.png", :alt => t("layout.delete")) + " " + t("layout.delete"), platform_product_path(@platform, @product), :method => "delete", :class => "button", :confirm => t("layout.products.confirm_delete")
-# if @product.can_clone?
=# link_to t("layout.products.clone"), clone_platform_product_path(@platform, @product), :class => "button"
- if can?(:create, @product => ProductBuildList)
= link_to t("layout.products.build"), platform_product_product_build_lists_path(@platform, @product), :class => "button", :method => 'post', :confirm => t("layout.confirm")
%h3= t("layout.products.build_lists_monitoring")
%table#myTable.tablesorter.platform-product-main{:cellspacing => "0", :cellpadding => "0"}
%thead
%tr
%th.th1= t("activerecord.attributes.product_build_list.id")
%th.th2= t("activerecord.attributes.product_build_list.status")
%th.th3= t("layout.product_build_lists.action")
%th.th4= t("activerecord.attributes.product_build_list.notified_at")
%tbody
= render @product.product_build_lists.default_order
-#.block
.secondary-navigation
%ul.wat-cf
%li.first= link_to @platform.name, platform_path(@platform) + "#products"
@ -35,7 +63,7 @@
- if can?(:create, @product => ProductBuildList)
= link_to t("layout.products.build"), platform_product_product_build_lists_path(@platform, @product), :class => "button", :method => 'post', :confirm => t("layout.confirm")
.block
-#.block
.content
.inner
%table.table

View File

@ -1,14 +1,15 @@
.group
= f.label :name, t("activerecord.attributes.repository.name"), :class => :label
= f.text_field :name, :class => 'text_field'
.group
= f.label :description, t("activerecord.attributes.repository.description"), :class => :label
= f.text_field :description, :class => 'text_field'
.leftlist= f.label :name, t("activerecord.attributes.repository.name"), :class => :label
.rightlist= f.text_field :name, :class => 'text_field'
.group.navform.wat-cf
%button.button{:type => "submit"}
= image_tag("choose.png", :alt => t("layout.save"))
= t("layout.save")
.leftlist= f.label :description, t("activerecord.attributes.repository.description"), :class => :label
.rightlist= f.text_field :description, :class => 'text_field'
.both
.button_block
= submit_tag t("layout.save")
-#%input.button{:type => "submit", :class => "button"}
-#= image_tag("choose.png", :alt => t("layout.save"))
-#= t("layout.clone")
%span.text_button_padding= t("layout.or")
= link_to t("layout.cancel"), @repositories_path + "#repositories", :class => "text_button_padding link_button"
= link_to t("layout.cancel"), @repositories_path, :class => "button"

View File

@ -1,5 +1,11 @@
= render :partial => 'submenu'
= render :partial => 'sidebar'
= render :partial => 'platforms/submenu'
= render :partial => 'platforms/sidebar'
%h3= t("layout.repositories.new_header")
= form_for :repository, :url => @repositories_path, :html => { :class => :form } do |f|
= render :partial => "form", :locals => {:f => f}
-#.block
.secondary-navigation
%ul.wat-cf

View File

@ -2,6 +2,8 @@ en:
layout:
products:
list: List
about: About product
build_lists_monitoring: Build lists monitoring
new: New product
list_header: Products
clone: Clone

View File

@ -2,6 +2,8 @@ ru:
layout:
products:
list: Список
about: О продукте
build_lists_monitoring: Мониторинг сборочных заданий
new: Новый продукт
list_header: Продукты
clone: Клонировать

View File

@ -161,7 +161,7 @@ Rosa::Application.routes.draw do
resources :repositories do
member do
get :add_project
get :remove_project
delete :remove_project
get :projects_list
end
end

View File

@ -0,0 +1,10 @@
class AddDescriptionToProducts < ActiveRecord::Migration
def self.up
add_column :products, :description, :text
execute "UPDATE products SET description = name"
end
def self.down
remove_column :products, :description
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20120303171802) do
ActiveRecord::Schema.define(:version => 20120314162313) do
create_table "activity_feeds", :force => true do |t|
t.integer "user_id", :null => false
@ -23,8 +23,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
create_table "arches", :force => true do |t|
t.string "name", :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "arches", ["name"], :name => "index_arches_on_name", :unique => true
@ -33,8 +33,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.integer "user_id"
t.string "provider"
t.string "uid"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "authentications", ["provider", "uid"], :name => "index_authentications_on_provider_and_uid", :unique => true
@ -45,8 +45,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.integer "arch_id"
t.integer "pl_id"
t.integer "bpl_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "build_list_items", :force => true do |t|
@ -54,8 +54,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.integer "level"
t.integer "status"
t.integer "build_list_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.string "version"
end
@ -69,8 +69,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.integer "project_id"
t.integer "arch_id"
t.datetime "notified_at"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "is_circle", :default => false
t.text "additional_repos"
t.string "name"
@ -93,25 +93,26 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "name"
t.string "ancestry"
t.integer "projects_count", :default => 0, :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "comments", :force => true do |t|
t.string "commentable_type"
t.integer "user_id"
t.text "body"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.decimal "commentable_id", :precision => 50, :scale => 0
t.integer "project_id"
end
create_table "containers", :force => true do |t|
t.string "name", :null => false
t.integer "project_id", :null => false
t.integer "owner_id", :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "delayed_jobs", :force => true do |t|
@ -123,8 +124,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.datetime "locked_at"
t.datetime "failed_at"
t.string "locked_by"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.string "queue"
end
@ -136,8 +137,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "distro"
t.string "platform"
t.integer "counter", :default => 0
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "event_logs", :force => true do |t|
@ -152,14 +153,14 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "controller"
t.string "action"
t.text "message"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "groups", :force => true do |t|
t.integer "owner_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.string "uname"
t.integer "own_projects_count", :default => 0, :null => false
t.text "description"
@ -172,8 +173,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "title"
t.text "body"
t.string "status", :default => "open"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.integer "creator_id"
t.datetime "closed_at"
t.integer "closed_by"
@ -204,8 +205,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "description"
t.string "name"
t.integer "parent_platform_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "released", :default => false
t.integer "owner_id"
t.string "owner_type"
@ -218,8 +219,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.integer "platform_id"
t.string "login"
t.string "password"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.integer "user_id"
end
@ -227,8 +228,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.integer "product_id"
t.integer "status", :default => 2, :null => false
t.datetime "notified_at"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "product_build_lists", ["product_id"], :name => "index_product_build_lists_on_product_id"
@ -238,8 +239,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.integer "platform_id", :null => false
t.integer "build_status", :default => 2, :null => false
t.string "build_path"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.text "build_script"
t.text "counter"
t.text "ks"
@ -252,6 +253,7 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.boolean "system_wide", :default => false
t.text "cron_tab"
t.boolean "use_cron", :default => false
t.text "description"
end
create_table "project_imports", :force => true do |t|
@ -259,8 +261,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "name"
t.string "version"
t.datetime "file_mtime"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.integer "platform_id"
end
@ -269,14 +271,14 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
create_table "project_to_repositories", :force => true do |t|
t.integer "project_id"
t.integer "repository_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "projects", :force => true do |t|
t.string "name"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.integer "owner_id"
t.string "owner_type"
t.string "visibility", :default => "open"
@ -302,30 +304,29 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "token"
t.boolean "approved", :default => false
t.boolean "rejected", :default => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.string "interest"
t.text "more"
end
add_index "register_requests", ["email"], :name => "index_register_requests_on_email", :unique => true, :case_sensitive => false
add_index "register_requests", ["token"], :name => "index_register_requests_on_token", :unique => true, :case_sensitive => false
create_table "relations", :force => true do |t|
t.integer "object_id"
t.string "object_type"
t.integer "target_id"
t.string "target_type"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.string "role"
end
create_table "repositories", :force => true do |t|
t.string "description", :null => false
t.integer "platform_id", :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.string "name", :null => false
end
@ -333,8 +334,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.string "name", :null => false
t.integer "arch_id", :null => false
t.integer "project_id", :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "rpms", ["project_id", "arch_id"], :name => "index_rpms_on_project_id_and_arch_id"
@ -347,8 +348,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
t.boolean "new_comment_reply", :default => true
t.boolean "new_issue", :default => true
t.boolean "issue_assign", :default => true
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "new_comment_commit_owner", :default => true
t.boolean "new_comment_commit_repo_owner", :default => true
t.boolean "new_comment_commit_commentor", :default => true
@ -357,8 +358,8 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
create_table "subscribes", :force => true do |t|
t.string "subscribeable_type"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "status", :default => true
t.integer "project_id"
t.decimal "subscribeable_id", :precision => 50, :scale => 0
@ -366,18 +367,18 @@ ActiveRecord::Schema.define(:version => 20120303171802) do
create_table "users", :force => true do |t|
t.string "name"
t.string "email", :default => "", :null => false
t.string "encrypted_password", :default => "", :null => false
t.string "email", :default => "", :null => false
t.string "encrypted_password", :limit => 128, :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.text "ssh_key"
t.string "uname"
t.string "role"
t.string "language", :default => "en"
t.integer "own_projects_count", :default => 0, :null => false
t.string "language", :default => "en"
t.integer "own_projects_count", :default => 0, :null => false
t.text "professional_experience"
t.string "site"
t.string "company"