On 05/03/2012 04:52 PM, Tzu-Mainn Chen wrote:
---
src/app/views/logs/_deployment_popup.html.haml | 10 ++++++
src/app/views/logs/_instance_popup.html.haml | 16 +++++++++
src/app/views/logs/index.html.haml | 40 ++++++++++++++++++++++++
3 files changed, 66 insertions(+), 0 deletions(-)
create mode 100644 src/app/views/logs/_deployment_popup.html.haml
create mode 100644 src/app/views/logs/_instance_popup.html.haml
create mode 100644 src/app/views/logs/index.html.haml
diff --git a/src/app/views/logs/_deployment_popup.html.haml
b/src/app/views/logs/_deployment_popup.html.haml
new file mode 100644
index 0000000..14558b8
--- /dev/null
+++ b/src/app/views/logs/_deployment_popup.html.haml
@@ -0,0 +1,10 @@
+%table.flat
+ %tr
+ %td= t('logs.index.created_at')
+ %td= deployment.created_at.strftime("%d-%b-%Y %H:%M:%S")
+ %tr
+ %td= t('logs.index.uptime')
+ %td= ApplicationHelper.count_uptime(deployment.uptime_all)
+ %tr
+ %td= t('logs.index.frontend_realm')
+ %td= deployment.frontend_realm.nil? ? t('logs.index.not_available') :
deployment.frontend_realm.name
diff --git a/src/app/views/logs/_instance_popup.html.haml
b/src/app/views/logs/_instance_popup.html.haml
new file mode 100644
index 0000000..663a3db
--- /dev/null
+++ b/src/app/views/logs/_instance_popup.html.haml
@@ -0,0 +1,16 @@
+%table.flat
+ %tr
+ %td= t('logs.index.created_at')
+ %td= instance.created_at.strftime("%d-%b-%Y %H:%M:%S")
+ %tr
+ %td= t('logs.index.uptime')
+ %td= ApplicationHelper.count_uptime(instance.uptime)
+ %tr
+ %td= t('logs.index.frontend_realm')
+ %td= instance.frontend_realm.nil? ? t('logs.index.not_available') :
instance.frontend_realm.name
+ %tr
+ %td= t('logs.index.image')
+ %td= instance.image.nil? ? t('logs.index.not_available') :
instance.image.name
+ %tr
+ %td= t('logs.index.hwp')
+ %td= instance.instance_hwp.nil? ? t('logs.index.not_available') :
instance.instance_hwp.name
diff --git a/src/app/views/logs/index.html.haml b/src/app/views/logs/index.html.haml
new file mode 100644
index 0000000..184ff14
--- /dev/null
+++ b/src/app/views/logs/index.html.haml
@@ -0,0 +1,40 @@
+= render :partial => 'layouts/admin_nav'
+
+%section.content-section
+ %header
+ %h2#users.users= @title
+
^ this 'users.user' should probably be replaced with some logs-related
class. @title is not set
+ .content
+ - content_for :filter_controls do
+ %li
+ = label_tag "source_type", t('filter_table.viewing')
+ = hidden_field_tag :current_path, request.fullpath
+ = select_tag "source_type", options_for_select(@source_type_options,
@source_type)
+ = select_tag "state", options_for_select(@state_options, @state)
+ = select_tag "pool_select", options_for_select(@pool_options,
@pool_select)
+ = select_tag "provider_select", options_for_select(@provider_options,
@provider_select)
+ = select_tag "owner_id", options_for_select(@owner_options,
@owner_id)
+ = restful_submit_tag t("filter_table.apply_filters"),
"index", filter_logs_path, 'POST', :class => 'button', :id
=> 'apply_logs_filter'
+ %span.label.badge.dark= @events.count
+
+ = filter_table(@header, @paginated_events) do |event|
+ - source = event.source
+ - provider_account = source.nil? ? nil : source.provider_account
+ - state = source.nil? ? nil : (source.class.name == "Deployment" ?
source.status : source.state)
^ Deployment model has 'state' attribute now too
+ %tr{:class => cycle('nostripe','stripe')}
+ %td= event.event_time.strftime("%d-%b-%Y %H:%M:%S")
+ %td= source.nil? ? t('logs.index.not_available') : source.name
+ %td= source.nil? ? t('logs.index.not_available') : state
+ %td= source.nil? ? t('logs.index.not_available') :
source.pool_family.name + "/" + source.pool.name
+ %td= provider_account.nil? ? t('logs.index.not_available') :
provider_account.provider.name + "/" + provider_account.name
+ %td= source.nil? ? t('logs.index.not_available') : source.owner.login
+ %td= event.summary
+ %td
+ - if !source.nil?
+ %a.hoverpopup
+ = image_tag "icon_view.png"
+ %span
+ - if source.class.name == "Deployment"
+ = render :partial => 'deployment_popup', :locals =>
{:deployment => source}
+ - elsif source.class.name == "Instance"
+ = render :partial => 'instance_popup', :locals =>
{:instance => source}