Tomas Sedovic wrote: > ACK with a caveat inline. > > Also, it would be great if it looked and behaved the same way as the > pool-specific instance table does now (using the DataTables jquery thingy). > > But that can be in another patch and I'm not sure how important it is for now. > > Thomas > > Actually we probably do want it using the same jquery bits for now, if possible.
Scott > ----- Original Message ----- > From: "Mohammed Morsi" <[email protected]> > To: [email protected] > Sent: Wednesday, June 2, 2010 9:00:14 PM GMT +01:00 Amsterdam / Berlin / Bern > / Rome / Stockholm / Vienna > Subject: [deltacloud-devel] [PATCH aggregator] instances index/list view and > backend > > navigating to http://localhost:3000/instance/ when running deltacloud > locally now brings the user to a list of instances in pools which > they have the instance_view permission on > --- > src/app/controllers/instance_controller.rb | 5 +++++ > src/app/views/dashboard/summary.haml | 2 ++ > src/app/views/instance/_list.html.erb | 24 ++++++++++++++++++++++++ > src/app/views/instance/index.html.erb | 3 +-- > 4 files changed, 32 insertions(+), 2 deletions(-) > create mode 100644 src/app/views/instance/_list.html.erb > > diff --git a/src/app/controllers/instance_controller.rb > b/src/app/controllers/instance_controller.rb > index c898691..c1c56e9 100644 > --- a/src/app/controllers/instance_controller.rb > +++ b/src/app/controllers/instance_controller.rb > @@ -25,6 +25,11 @@ class InstanceController < ApplicationController > before_filter :require_user > > def index > + @instances = current_user.permissions.all.find_all { |perm| > + !perm.role.privileges.all.find { |priv| > + priv.name == Privilege::INSTANCE_VIEW > + }.nil? && perm.permission_object_type == "Pool" > + }.collect { |perm| perm.permission_object.instances > }.flatten > end > > # Right now this is essentially a duplicate of PoolController#show, > diff --git a/src/app/views/dashboard/summary.haml > b/src/app/views/dashboard/summary.haml > index 4eeb58b..b64ffb5 100644 > --- a/src/app/views/dashboard/summary.haml > +++ b/src/app/views/dashboard/summary.haml > @@ -38,6 +38,8 @@ > Create a Template > %a{:href => url_for(:controller => "users", :action => "new")} > Create a User > + %a{:href => url_for(:controller => "instance", :action => "index")} > + View Instances > - else > %a{:href => url_for(:controller => "", :action => "")} > Launch Instances > diff --git a/src/app/views/instance/_list.html.erb > b/src/app/views/instance/_list.html.erb > new file mode 100644 > index 0000000..66f6eeb > --- /dev/null > +++ b/src/app/views/instance/_list.html.erb > @@ -0,0 +1,24 @@ > +<% if @instances.size == 0 %> > +<h1>There are no instances to display</h1> > +<% else %> > + <table> > + <thead> > + <tr> > + <th scope="col">Name</th> > + <th scope="col">Pool</th> > + <th scope="col">Hardware Profile</th> > + <th scope="col">Image</th> > + </tr> > + </thead> > + <tbody> > + <%[email protected] {|instance| %> > + <tr> > + <td><%= instance.name %></td> > + <td><%= instance.pool.name if instance.pool %></td> > + <td><%= instance.hardware_profile.name if > instance.hardware_profile %></td> > + <td><%= instance.image if instance.image %></td> > > This outputs something like: #<Image:0xb6656808> > to the webpage instead of the real image name (e.g. Fedora 10). > > + </tr> > + <% } %> > + </tbody> > + </table> > +<% end %> > diff --git a/src/app/views/instance/index.html.erb > b/src/app/views/instance/index.html.erb > index a632f6c..c19c3fa 100644 > --- a/src/app/views/instance/index.html.erb > +++ b/src/app/views/instance/index.html.erb > @@ -1,2 +1 @@ > -<h1>Instance#index</h1> > -<p>Find me in app/views/instance/index.html.erb</p> > +<%= render :partial => 'list' %> > _______________________________________________ deltacloud-devel mailing list [email protected] https://fedorahosted.org/mailman/listinfo/deltacloud-devel
