Project

General

Profile

Patch #1022 ยป new_issue_anywhere.diff

Rocco Stanzione, 2008-04-08 22:22

View differences:

public/stylesheets/application.css (working copy)
506 506
.task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
507 507
.milestone { background-image:url(../images/milestone.png); background-repeat: no-repeat; border: 0; }
508 508

  
509
#new-issue-menu {	position: absolute; }
510
#new-issue-menu ul { 
511
  list-style: none;
512
  background-color: white;
513
  border-top:1px solid #ddd;
514
  border-left:1px solid #ddd;
515
  border-bottom:1px solid #777;
516
  border-right:1px solid #777;
517
}
518
#new-issue-menu ul, #new-issue-menu li {
519
  margin: 0;
520
  padding: 0;
521
  border: 0;
522
}
523
#new-issue-menu li { padding: 1px; }
524
#new-issue-menu a {
525
  border:1px solid white;
526
  text-decoration:none;
527
  background-repeat: no-repeat;
528
  background-position: 1px 50%;
529
  padding: 2px 0px 2px 20px;
530
  width:100%; /* IE */
531
}
532

  
509 533
/***** Icons *****/
510 534
.icon {
511 535
background-position: 0% 40%;
public/javascripts/application.js (working copy)
120 120
        }
121 121
    }
122 122
});
123

  
124
function toggleNewIssueMenu(e) {
125
	if($('new-issue-menu').style.display == 'none') {
126
		Element.show('new-issue-menu');
127
		$('new-issue-menu').style.left = Event.pointerX(e)+'px';
128
		$('new-issue-menu').style.top = Event.pointerY(e)+'px';
129
	} else {
130
		Element.hide('new-issue-menu');
131
	}
132
}
app/views/layouts/base.rhtml (working copy)
56 56
</div>
57 57

  
58 58
<div id="ajax-indicator" style="display:none;"><span><%= l(:label_loading) %></span></div>
59
<div id="new-issue-menu" style="display:none;"><%= render :partial => "layouts/new_issue_menu" if User.current.memberships.any? %></div>
59 60
	
60 61
<div id="footer">
61 62
    Powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %> &copy; 2006-2008 Jean-Philippe Lang
app/views/layouts/_new_issue_menu.rhtml (revision 0)
1
<% user_projects_by_root = User.current.projects.find(:all, :include => :parent).group_by(&:root) %>
2
<div>
3
	<ul>
4
	<% user_projects_by_root.keys.sort.each do |root| %>
5
		<li><%= link_to h(root.name),:controller => :issues, :action => :new, :project_id => root %></li>
6
		<% user_projects_by_root[root].sort.each do |project| %>
7
			<% next if project == root %>
8
			<li><%= link_to '&#187; '+h(project.name), :controller => :issues, :action => :new, :project_id => project %></li>
9
		<% end %>
10
	<% end %>
11
	</ul>
12
</div>
lib/redmine.rb (working copy)
96 96
  menu.push :home, :home_url, :html => { :class => 'home' }
97 97
  menu.push :my_page, { :controller => 'my', :action => 'page' }, :html => { :class => 'mypage' }, :if => Proc.new { User.current.logged? }
98 98
  menu.push :projects, { :controller => 'projects', :action => 'index' }, :caption => :label_project_plural, :html => { :class => 'projects' }
99
	menu.push :new_issue, '#', :caption => :label_issue_new, :html => {:onclick => "toggleNewIssueMenu(event);"}, :if => Proc.new { User.current.logged? }
99 100
  menu.push :administration, { :controller => 'admin', :action => 'index' }, :html => { :class => 'admin' }, :if => Proc.new { User.current.admin? }
100 101
  menu.push :help, Redmine::Info.help_url, :html => { :class => 'help' }
101 102
end
    (1-1/1)