[PATCH aggregator] 643862 Disabled new pool link on manage pool page
by Martyn Taylor
From: martyntaylor <mtaylor(a)redhat.com>
---
src/app/views/pools/index.haml | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/app/views/pools/index.haml b/src/app/views/pools/index.haml
index f05579e..81a6b5f 100644
--- a/src/app/views/pools/index.haml
+++ b/src/app/views/pools/index.haml
@@ -16,7 +16,8 @@
%button.submit.linkbutton{ :disabled => 'disabled'} delete
%dd.add
%span
- =link_to 'new pool', :action => :new, :class => "button"
+ /=link_to 'new pool', :action => :new, :class => "button"
+ %button.submit.linkbutton{ :disabled => 'disabled'} new pool
#details{:class => 'grid_13'}
%table
--
1.7.2.3
13 years, 8 months
selection model
by Jan Provazník
selection model - first shoot
Rerun "rake dc:prepare_repos" after applying. Note that this not yet
final version, should be applied on patcheset "rebased pending patches".
13 years, 8 months
[PATCH aggregator] BZ 643810 Added JS to manage users pages to prevent multiple selection of users
by Martyn Taylor
From: martyntaylor <mtaylor(a)redhat.com>
---
src/app/views/users/index.haml | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/src/app/views/users/index.haml b/src/app/views/users/index.haml
index df9def1..854cd2e 100644
--- a/src/app/views/users/index.haml
+++ b/src/app/views/users/index.haml
@@ -29,7 +29,7 @@
-(a)users.each do |user|
%tr
%td
- %input{:name => "user_checkbox", :type => "checkbox", :value => user.id, :id => "user_checkbox_#{user.id}" }
+ %input{:name => "user_checkbox", :type => "checkbox", :value => user.id, :id => "user_checkbox_#{user.id}", :onchange => "update_link(#{user.id})"}
%td= link_to user.login, {:action => "edit", :id => user.id}
%td= user.last_name
%td= user.first_name
@@ -41,3 +41,17 @@
$(document).ready(function () {
$("input[type='checkbox']").buttonSensitivity().change();
});
+
+ function update_link(id)
+ {
+ var checkbox = document.getElementById('user_checkbox_' + id)
+ if(checkbox.checked)
+ {
+ var checkboxes = document.getElementsByName("user_checkbox")
+ for(var i = 0; i < checkboxes.length; i++)
+ {
+ checkboxes[i].checked = false
+ }
+ checkbox.checked = true
+ }
+ }
\ No newline at end of file
--
1.7.2.3
13 years, 8 months
[PATCH aggregator] BZ #641956: remove template creation on 'new template form' until it is submitted (rev 3)
by Mo Morsi
Currently when a user adds a package to a new template, a temporary
template gets created for use until the form is submitted. If the user
cancels the form, the template still exists when it should not. This
patch simply changes the create template logic to only create the
template when the form is submitted
This patch now works both when javascript is enabled and disabled.
Also took care of some more edge cases since the last revision.
---
src/app/controllers/templates_controller.rb | 128 ++++++++++++++---------
src/app/models/template.rb | 18 +--
src/app/util/image_descriptor_xml.rb | 4 +
src/app/views/templates/_content_selection.haml | 52 ---------
src/app/views/templates/_hidden_fields.haml | 8 ++
src/app/views/templates/_managed_content.haml | 16 +--
src/app/views/templates/add_software_form.haml | 1 -
src/app/views/templates/content_selection.haml | 45 ++++++++
src/app/views/templates/managed_content.haml | 1 +
src/app/views/templates/new.haml | 67 +++++++-----
10 files changed, 186 insertions(+), 154 deletions(-)
delete mode 100644 src/app/views/templates/_content_selection.haml
create mode 100644 src/app/views/templates/_hidden_fields.haml
delete mode 100644 src/app/views/templates/add_software_form.haml
create mode 100644 src/app/views/templates/content_selection.haml
create mode 100644 src/app/views/templates/managed_content.haml
diff --git a/src/app/controllers/templates_controller.rb b/src/app/controllers/templates_controller.rb
index 8d97c05..9c77c9b 100644
--- a/src/app/controllers/templates_controller.rb
+++ b/src/app/controllers/templates_controller.rb
@@ -38,71 +38,92 @@ class TemplatesController < ApplicationController
end
end
+ # Since the template form submission can mean multiple things,
+ # we dispatch based on form parameters here
+ def dispatch
+ if params[:save]
+ create
+
+ elsif params[:cancel]
+ redirect_to :action => 'index'
+
+ elsif params[:add_software_form]
+ content_selection
+
+ elsif pkg = params.keys.find { |k| k =~ /^remove_package_(.*)$/ }
+ # actually remove the package from list
+ params[:packages].delete($1) if params[:packages]
+ new
+
+ elsif params[:add_selected]
+ new
+
+ elsif params[:cancel_add_software]
+ params[:packages] = params[:selected_packages]
+ new
+
+ end
+ end
+
+ # FIXME at some point split edit/update out from new/create
+ # to conform to web standards
def new
# can't use @template variable - is used by compass (or something other)
- @tpl = Template.find_or_create(params[:id])
- @repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
+ @id = params[:id]
+ @tpl = @id.nil? ? Template.new : Template.find(@id)
+ @tpl.attributes = params[:tpl] unless params[:tpl].nil?
+ get_selected_packages(@tpl)
+ render :action => :new
end
def create
- if params[:cancel]
- redirect_to :action => 'index'
- return
- end
-
- @tpl = (params[:tpl] && !params[:tpl][:id].to_s.empty?) ? Template.find(params[:tpl][:id]) : Template.new(params[:tpl])
+ @id = params[:tpl][:id]
+ @tpl = @id.nil? || @id == "" ? Template.new(params[:tpl]) : Template.find(@id)
- unless params[:add_software_form] and request.xhr?
- # this is crazy, but we have most attrs in xml and also in model,
- # synchronize it at first to xml
- @tpl.update_xml_attributes!(params[:tpl])
- end
+ @tpl.xml.clear_packages
- # if remove pkg, we only update xml and render 'new' template
- # again
- params.keys.each do |param|
- if param =~ /^remove_package_(.*)$/
- update_group_or_package(:remove_package, $1)
- render :action => 'new'
- return
- end
- end
+ params[:groups].to_a.each { |group| @tpl.xml.add_group(group) }
+ params[:packages].to_a.each { |pkg| @tpl.xml.add_package(pkg) }
- if params[:add_software_form]
- @repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups_with_tagged_selected_packages((a)tpl.xml.packages, params[:repository])
- render :action => 'add_software_form'
- return
- end
+ # this is crazy, but we have most attrs in xml and also in model,
+ # synchronize it at first to xml
+ @tpl.update_xml_attributes(params[:tpl])
if @tpl.save
flash[:notice] = "Template saved."
@tpl.set_complete
redirect_to :action => 'index'
else
- @repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
+ get_selected_packages(@tpl)
render :action => 'new'
end
end
- def add_software
- @tpl = params[:template_id].to_s.empty? ? Template.new : Template.find(params[:template_id])
+ def content_selection
@repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
- if params[:add_selected]
- params[:groups].to_a.each { |group| @tpl.xml.add_group(group) }
- params[:packages].to_a.each { |pkg| @tpl.xml.add_package(pkg) }
- @tpl.save_xml!
- end
- if params[:ajax]
- render :partial => 'managed_content'
+ @id = params[:id] if params[:id]
+ @tpl = @id.nil? ? Template.new : Template.find(@id)
+ @tpl.attributes = params[:tpl] unless params[:tpl].nil?
+ @packages = []
+ @packages = params[:packages].collect{ |p| { :name => p } } if params[:packages]
+ @groups = @repository_manager.all_groups_with_tagged_selected_packages(@packages, params[:repository])
+ @embed = params[:embed]
+ if @embed
+ render :layout => false
else
- render :action => 'new'
+ render :action => :content_selection
end
end
+ def managed_content
+ @repository_manager = RepositoryManager.new
+ @groups = @repository_manager.all_groups(params[:repository])
+ @selected_packages = params[:selected_packages] || []
+ @selected_packages.uniq!
+ @selected_groups = params[:selected_groups] || []
+ render :layout => false
+ end
+
def build_form
raise "select template to build" unless params[:image] and params[:image][:template_id]
@image = Image.new(params[:image])
@@ -162,15 +183,6 @@ class TemplatesController < ApplicationController
private
- def update_group_or_package(method, *args)
- @repository_manager = RepositoryManager.new
- @groups = @repository_manager.all_groups(params[:repository])
- @tpl.xml.send(method, *args)
- # we save template w/o validation (we can add package before name,... is
- # set)
- @tpl.save_xml!
- end
-
def check_permission
require_privilege(Privilege::IMAGE_MODIFY)
end
@@ -183,4 +195,18 @@ class TemplatesController < ApplicationController
end
return ids.first
end
+
+ def get_selected_packages(tpl)
+ @repository_manager = RepositoryManager.new
+ @groups = @repository_manager.all_groups(params[:repository])
+
+ if params[:packages]
+ @selected_packages = params[:packages]
+ @selected_packages.uniq!
+ else
+ @selected_packages = tpl.xml.packages.collect { |p| p[:name] }
+ end
+
+ @selected_groups = []
+ end
end
diff --git a/src/app/models/template.rb b/src/app/models/template.rb
index 6457f7a..2e76a53 100644
--- a/src/app/models/template.rb
+++ b/src/app/models/template.rb
@@ -18,21 +18,15 @@ class Template < ActiveRecord::Base
validates_presence_of :platform_version
validates_presence_of :architecture
- def update_xml_attributes!(opts = {})
- doc = xml
- doc.name = opts[:name] if opts[:name]
- doc.platform = opts[:platform] if opts[:platform]
- doc.description = opts[:summary] if opts[:summary]
- doc.platform_version = opts[:platform_version] if opts[:platform_version]
- doc.architecture = opts[:architecture] if opts[:architecture]
- save_xml!
- end
-
- def save_xml!
+ def update_xml_attributes(opts = {})
+ xml.name = opts[:name] if opts[:name]
+ xml.platform = opts[:platform] if opts[:platform]
+ xml.description = opts[:summary] if opts[:summary]
+ xml.platform_version = opts[:platform_version] if opts[:platform_version]
+ xml.architecture = opts[:architecture] if opts[:architecture]
self[:xml] = xml.to_xml
@xml = nil
update_attrs
- save_without_validation!
end
def xml
diff --git a/src/app/util/image_descriptor_xml.rb b/src/app/util/image_descriptor_xml.rb
index e8fe552..034d943 100644
--- a/src/app/util/image_descriptor_xml.rb
+++ b/src/app/util/image_descriptor_xml.rb
@@ -141,6 +141,10 @@ class ImageDescriptorXML
end
end
+ def clear_packages
+ @root.xpath('/image/packages').each { |s| s.remove }
+ end
+
private
def add_group_node(parent, group)
diff --git a/src/app/views/templates/_content_selection.haml b/src/app/views/templates/_content_selection.haml
deleted file mode 100644
index 2372a4a..0000000
--- a/src/app/views/templates/_content_selection.haml
+++ /dev/null
@@ -1,52 +0,0 @@
-.grid_16
- %h3 Managed Content Selection
-
- - form_tag :action => "add_software" do
- %fieldset.clearfix
- .search.grid_4.alpha
- %input{:type => "search", :placeholder => "Search for package", :disabled => "disabled"}
- %button.action
- = hidden_field_tag :template_id, @tpl.id
- .grid_8
- %p
- Repositories to Search:
- %a (Check all)
- %fieldset
- - @repository_manager.repositories.each do |repo|
- = check_box_tag 'repositories[]', repo.id, true
- = label_tag 'repositories[]', repo.name
- %a.grid_4.omega Advanced Search
- -#%fieldset.clearfix
- -# .grid_3.alpha
- -# = radio_button_tag :show_mode, 'group', true
- -# = label_tag :show_mode, 'Show by Group'
- -# .grid_2.omega
- -# = radio_button_tag :show_mode, 'type', false, :disabled => true
- -# = label_tag :show_mode, 'Show by Type'
-
- -#%fieldset.clearfix
- -# = submit_tag "Add Selected", :name => "add_selected", :class => "grid_2 alpha", :id => "do_add_software"
- -# = submit_tag "Cancel", :name => "cancel", :class => "grid_2", :id => "cancel_add_software"
- %ul.softwaregroups
- - groups = @groups.keys.sort
- - unsorted = groups.delete('unsorted')
- - groups.push('unsorted') if params[:show_unsorted] and unsorted
- - groups.each do |group|
- - group_sel = @groups[group][:selected]
- - group_id = group.gsub(/\s/, '_')
- %li
- = check_box_tag 'groups[]', group, group_sel, :disabled => group_sel, :id => "group_#{group_id}"
- = label_tag "group_#{group_id}", group
- %ul{:class => "packages group_#{group_id}"}
- - pkgs = @groups[group][:packages]
- - pkgs.keys.sort.each do |pkg|
- - pkg_sel = pkgs[pkg][:selected] ? true : false
- - pkg_id = pkg.gsub(/\s/, '_')
- %li
- = check_box_tag 'packages[]', pkg, pkg_sel, :disabled => pkg_sel, :id => "package_#{pkg_id}"
- = label_tag "package_#{pkg_id}", pkg
-
- = link_to "Show unsorted packages", {:action => 'create', :add_software_form => true, :show_unsorted => true, 'tpl[id]' => @tpl.id}, {:id => 'switch_all_link'} unless params[:show_unsorted]
- %fieldset.clearfix
- = submit_tag "Add Selected", :name => "add_selected", :class => "grid_2 alpha", :id => "do_add_software"
- = submit_tag "Cancel", :name => "cancel", :class => "grid_2", :id => "cancel_add_software"
diff --git a/src/app/views/templates/_hidden_fields.haml b/src/app/views/templates/_hidden_fields.haml
new file mode 100644
index 0000000..3fcab65
--- /dev/null
+++ b/src/app/views/templates/_hidden_fields.haml
@@ -0,0 +1,8 @@
+- # the template fields as hidden form inputs
+<input type="hidden" id="id" name="id" value="#{@id}" />
+= hidden_field :tpl, :id
+= hidden_field :tpl, :name
+= hidden_field :tpl, :summary
+= hidden_field :tpl, :platform
+= hidden_field :tpl, :platform_version
+= hidden_field :tpl, :architecture
diff --git a/src/app/views/templates/_managed_content.haml b/src/app/views/templates/_managed_content.haml
index f6c8f7b..97c4046 100644
--- a/src/app/views/templates/_managed_content.haml
+++ b/src/app/views/templates/_managed_content.haml
@@ -1,26 +1,20 @@
#selected_packages
- / we place template id into this partial, because
- / if we want to add software with ajax, it's possible
- / that template is not saved in db yet -> in this case
- / template is saved when software is added and we have
- / to pass template id back to new form
- = hidden_field :tpl, :id
%h3.gap Managed Content to Bundle
%hr
%label.header.alpha.prefix_2.grid_7 Name:
%label.header.omega.grid_2.suffix_5 Repository:
%label.grid_2.alpha.clear Managed:
.grid_14.omega
- - if @tpl.xml.packages.empty?
+ - if @selected_packages.empty?
No selected packages
- else
- repos = @repository_manager.repositories_hash
- - @tpl.xml.packages.each do |pkg|
- - pkg_group = @groups.keys.find {|g| @groups[g][:packages][pkg[:name]]}
+ - @selected_packages.each do |pkg|
+ - pkg_group = @groups.keys.find {|g| @groups[g][:packages][pkg]}
%fieldset.clearfix
- = text_field_tag 'packages[]', pkg[:name], :disabled => true, :id => "selected_package_#{pkg[:name]}", :class => "alpha grid_7 packagename"
+ = text_field_tag 'packages[]', pkg, :id => "selected_package_#{pkg}", :class => "alpha grid_7 packagename"
.grid_2= (pkg_group and repo = repos[@groups[pkg_group][:repository_id]]) ? repo.name.to_s : ' '
.grid_5.omega
%button{:type => 'button', :disabled => 'disabled'} Config
%button{:type => 'button', :disabled => 'disabled'} Metadata
- = submit_tag "Remove", :name => "remove_package_#{pkg[:name]}", :id => "remove_package_#{pkg[:name]}"
+ = submit_tag "Remove", :name => "remove_package_#{pkg}", :id => "remove_package_#{pkg}", :class => 'remove_package'
diff --git a/src/app/views/templates/add_software_form.haml b/src/app/views/templates/add_software_form.haml
deleted file mode 100644
index d32729a..0000000
--- a/src/app/views/templates/add_software_form.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'content_selection'
diff --git a/src/app/views/templates/content_selection.haml b/src/app/views/templates/content_selection.haml
new file mode 100644
index 0000000..ddd104e
--- /dev/null
+++ b/src/app/views/templates/content_selection.haml
@@ -0,0 +1,45 @@
+.grid_16
+ %h3 Managed Content Selection
+
+ - form_tag :action => "dispatch" do
+ - unless @embed
+ = render :partial => 'hidden_fields'
+ - @packages.each do |p|
+ <input type="hidden" id="selected_package_#{p[:name]}" name="selected_packages[]" value="#{p[:name]}" />
+ %fieldset.clearfix
+ .search.grid_4.alpha
+ %input{:type => "search", :placeholder => "Search for package", :disabled => "disabled"}
+ %button.action
+ .grid_8
+ %p
+ Repositories to Search:
+ %a (Check all)
+ %fieldset
+ - @repository_manager.repositories.each do |repo|
+ = check_box_tag 'repositories[]', repo.id, true
+ = label_tag 'repositories[]', repo.name
+ %a.grid_4.omega Advanced Search
+
+ %ul.softwaregroups
+ - groups = @groups.keys.sort
+ - unsorted = groups.delete('unsorted')
+ - groups.push('unsorted') if params[:show_unsorted] and unsorted
+ - groups.each do |group|
+ - group_sel = @groups[group][:selected]
+ - group_id = group.gsub(/\s/, '_')
+ %li
+ = check_box_tag 'groups[]', group, group_sel, :id => "group_#{group_id}"
+ = label_tag "group_#{group_id}", group
+ %ul{:class => "packages group_#{group_id}"}
+ - pkgs = @groups[group][:packages]
+ - pkgs.keys.sort.each do |pkg|
+ - pkg_sel = pkgs[pkg][:selected] ? true : false
+ - pkg_id = pkg.gsub(/\s/, '_')
+ %li
+ = check_box_tag 'packages[]', pkg, pkg_sel, :id => "package_#{pkg_id}"
+ = label_tag "package_#{pkg_id}", pkg
+ = link_to "Show unsorted packages", {:action => 'create', :add_software_form => true, :show_unsorted => true, 'tpl[id]' => @tpl.id}, {:id => 'switch_all_link'} unless params[:show_unsorted]
+
+ %fieldset.clearfix
+ = submit_tag "Add Selected", :name => "add_selected", :class => "grid_2 alpha", :id => "do_add_software"
+ = submit_tag "Cancel", :name => "cancel_add_software", :class => "grid_2", :id => "cancel_add_software"
diff --git a/src/app/views/templates/managed_content.haml b/src/app/views/templates/managed_content.haml
new file mode 100644
index 0000000..926142d
--- /dev/null
+++ b/src/app/views/templates/managed_content.haml
@@ -0,0 +1 @@
+= render :partial => 'managed_content'
diff --git a/src/app/views/templates/new.haml b/src/app/views/templates/new.haml
index 42fc85d..d255c7d 100644
--- a/src/app/views/templates/new.haml
+++ b/src/app/views/templates/new.haml
@@ -1,38 +1,45 @@
:javascript
$(document).ready(function() {
- var $container = $('#package_selection_list'),
- $submit = $('#add_software_button');
- $submit.click(function(e, show_all) {
- var list_url = '#{url_for :action => 'create', :add_software_form => true}';
- var list_all_url = '#{url_for :action => 'create', :add_software_form => true, :show_unsorted => true}';
- var list_data = {'tpl[id]': $("input[name='tpl[id]']").val() || '', ajax: true};
+ var $content_container = $('#managed_content');
+ var $sel_pkg_container = $('#package_selection_list');
+ var $submit = $('#add_software_button');
+ $submit.click(function(e) {
e.preventDefault();
- $(this).hide();
- $container.empty().show().addClass('loading');
- $container.load(show_all ? list_all_url : list_url, list_data, function() {
- $container.removeClass('loading');
+ $submit.hide();
+ var data = {
+ 'packages[]': $("input[name='packages[]']").map(function() {return $(this).val()}).get()
+ }
+ var url = '#{url_for :action => 'content_selection', :embed => true, :id => @id}';
+ $content_container.empty().show();
+ $sel_pkg_container.empty().show().addClass('loading');
+ $sel_pkg_container.load(url, data, function(){
+ $sel_pkg_container.removeClass('loading');;
$('#do_add_software').click(function(e) {
- var url = '#{url_for :action => 'add_software', :ajax => true, :add_selected => true}';
+ e.preventDefault();
+ var url = '#{url_for :action => 'managed_content'}';
var data = {
- 'packages[]': $("input:checked[name='packages[]']").map(function() {return $(this).val()}).get(),
- 'groups[]': $("input:checked[name='groups[]']").map(function() {return $(this).val()}).get(),
- 'template_id': $("input[name='tpl[id]']").val() || ''
+ 'selected_packages[]': $("input:checked[name='packages[]']").map(function() {return $(this).val()}).get(),
+ 'selected_groups[]': $("input:checked[name='groups[]']").map(function() {return $(this).val()}).get(),
+ 'template_id' : '#{(a)id.nil? ? nil : @id}'
};
- e.preventDefault();
- $(this).replaceWith('<span class="loading grid_2 alpha">Adding Packages</span>');
- $('#selected_packages').load(url, data, function() {
- $container.hide();
+ $content_container.load(url, data, function(){
+ $sel_pkg_container.empty().show();
$submit.show();
+ $('.remove_package').click(function() { $(this).parent().parent().remove(); });
});
});
- $('#switch_all_link').click(function(e) {
- e.preventDefault();
- $submit.trigger('click', [true]);
- });
$('#cancel_add_software').click(function(e) {
e.preventDefault();
- $container.hide();
- $submit.show();
+ var data = {
+ 'selected_packages[]': $("input[name='selected_packages[]']").map(function() {return $(this).val()}).get(),
+ 'selected_groups[]': $("input:checked[name='groups[]']").map(function() {return $(this).val()}).get(),
+ 'template_id' : '#{(a)id.nil? ? nil : @id}'
+ }
+ var url = '#{url_for :action => 'managed_content'}';
+ $content_container.load(url, data, function(){
+ $sel_pkg_container.empty().show();
+ $submit.show();
+ });
});
$(".softwaregroups input[type='checkbox']").click(function() {
if ($(this).attr("checked") === true) {
@@ -43,12 +50,15 @@
});
});
});
+ $('.remove_package').click(function() { $(this).parent().parent().remove(); });
});
.grid_16
%h2 Template
- - form_for @tpl, :url => { :action => "create" } do
- = error_messages_for 'tpl'
+ - form_for @tpl, :url => { :action => "dispatch" } do
+ <input type="hidden" id="id" name="id" value="#{@id}" />
+ = hidden_field :tpl, :id
+ = error_messages_for :tpl
= render :partial => 'basics'
%h3.disabled.gap Local Content to Bundle
@@ -74,12 +84,15 @@
%a{:href => '#'} Remove
)
- = render :partial => 'managed_content'
+ #managed_content
+ = render :partial => 'managed_content'
.clearfix
.grid_14.alpha.prefix_2
= submit_tag "Add Software", :name => "add_software_form", :id => "add_software_button", :class => "iconbutton"
+
#package_selection_list{:style => 'display: none'}
+
%h3.gap.clear Preboot Configuration
%hr
%fieldset.clearfix
--
1.7.2.3
13 years, 8 months
[PATCH aggregator] BZ #643121: small tweak to edit user form style
by Mo Morsi
https://bugzilla.redhat.com/show_bug.cgi?id=643121
brings it inline w/ how new user form looks.
---
src/app/stylesheets/aggregator.scss | 2 +-
src/app/views/users/edit.haml | 39 ++++++++++++++++++-----------------
2 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/src/app/stylesheets/aggregator.scss b/src/app/stylesheets/aggregator.scss
index 6711ee6..05768d2 100644
--- a/src/app/stylesheets/aggregator.scss
+++ b/src/app/stylesheets/aggregator.scss
@@ -864,7 +864,7 @@ fieldset.gap {
}
input {
display: inline-block;
- width: 20em;
+ width: 10em;
}
}
.indented {
diff --git a/src/app/views/users/edit.haml b/src/app/views/users/edit.haml
index 0228ab4..f0e6e6a 100644
--- a/src/app/views/users/edit.haml
+++ b/src/app/views/users/edit.haml
@@ -1,19 +1,20 @@
-.formwindow
-- if has_user_modify?
- %h2.grid_16
- Editing User:
- = @user.first_name + " " + @user.last_name
- %h3.grid_16 Basic User Information
-- else
- %h2.grid_16 Edit an Account
-- form_for @user, :url => { :action => 'update' } do |f|
- = f.error_messages
- = hidden_field :user, :id, :value => @user.id
- = render :partial => "form", :object => f
- %fieldset.clear
- = link_to "Cancel", users_path, :class => "formbutton button clear"
- - if has_user_modify?
- = f.submit "Reset", :class => "formbutton button", :name => "reset"
- = f.submit "Save", :class => "formbutton button", :name => "save"
- - else
- = f.submit "Make Changes", :class => "formbutton button", :name => "make_changes"
+.modalbox
+ - if has_user_modify?
+ %h2.grid_16
+ Editing User:
+ = @user.first_name + " " + @user.last_name
+ %h3.grid_16 Basic User Information
+ - else
+ %h2.grid_16 Edit an Account
+ .dcloud_form
+ - form_for @user, :url => { :action => 'update' } do |f|
+ = f.error_messages
+ = hidden_field :user, :id, :value => @user.id
+ = render :partial => "form", :object => f
+ %fieldset.clear
+ = link_to "Cancel", users_path, :class => "formbutton button clear"
+ - if has_user_modify?
+ = f.submit "Reset", :class => "formbutton button", :name => "reset"
+ = f.submit "Save", :class => "formbutton button", :name => "save"
+ - else
+ = f.submit "Make Changes", :class => "formbutton button", :name => "make_changes"
--
1.7.2.3
13 years, 8 months
[PATCH] Lower case glyphs in place. Use them in the tab navigation.
by Jakub Steiner
---
src/app/stylesheets/aggregator.scss | 4 ++--
src/public/fonts/FreeWay-Bold.ttf | Bin 4088 -> 7176 bytes
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/app/stylesheets/aggregator.scss b/src/app/stylesheets/aggregator.scss
index e54faa8..9cfadd8 100644
--- a/src/app/stylesheets/aggregator.scss
+++ b/src/app/stylesheets/aggregator.scss
@@ -625,8 +625,8 @@ nav {
font-size: 95%;
margin: 0; padding: 10px 8px 6px;
text-align: center;
- font-family: $screenfont;
- font-weight: bold;
+ font-family: $headlinefont;
+ font-weight: normal;
display: block;
float: left;
max-width: 70px;
diff --git a/src/public/fonts/FreeWay-Bold.ttf b/src/public/fonts/FreeWay-Bold.ttf
index 7d18ea81d937334578bae7fb11f264bd68679d57..a3229367797db9bbcdf31691d796b1b7e8c145a0 100644
GIT binary patch
delta 3833
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
MZz>M+?zvb03s_}^WdHyG
delta 660
zcmXX?O=uHA82x5un;%Tg!9ucaf}0|gN?L71Nu*L!A)qBFD$)k2-6m_JB+X)jO`s4F
z58k95JlI3gtMs7MLl2gKAOsJB;=zO9As{^nqEx7-_04v_WtsQhH}k%q$Lal}En-B}
zOAkoUm0a$6er7%Khba6FYV7j06RDYQah`}xgU=PKrfuITEfVo0w8`TAx<LuvBoa3A
z+Jd=cI}V&E`~^I)P-)(td${=#`By~2WZ5!Hdzr7ulkz`PE?X_rR}@n)>w|EtT&*`Q
z2K*ZMHh8^KE1JfK!Ot+LgO69uhE4MX%+lb-qFJ>fe9uP|f+1hGYfE*0gug}u4didS
z!;${%$<y5%x5DFp>5$lkPMz*f>)@OP=yTd)f_HE^KwQZPY=w86HWdV>Mfr&XD}}v?
zyGoocsCg0UC3Cg&H0mlEe<N4ex#28a3@1$m)X2KG+%(_8VGv^#N+^Nl<qvjO&7}<0
zA9L+6Hy9cM*YE&~#;14z%O=V?j`NP#nm8_{NH8I%gf3UbihM4TvR4bq0qxY*BW)xo
ze@9Y7!z}N)Y7}Ct9_|6&_OK85ySx+~8M;dURAnuQdQrCQ;U3@(5Bq@MZ*4>mGx;kT
zkem9T7^95*q{kwu(UZnmBX`fTmd&OyS*w&l$1-dEFZ^+I&4|mF{ippvn1ain1G?zG
GZT|<knt^Ko
--
1.7.2.3
13 years, 8 months
template-related fixes
by Jan Provazník
Sending as patcheset because patches change same code and depend each other.
13 years, 8 months