|
|
@@ -0,0 +1,112 @@
|
|
|
+# encoding:utf-8
|
|
|
+class ScaleUser < ActiveRecord::Base
|
|
|
+ has_paper_trail
|
|
|
+ self.table_name = "scale_users"
|
|
|
+ belongs_to :wx_user
|
|
|
+ attr_accessor :v_head
|
|
|
+
|
|
|
+ #after_create :update_paied_time
|
|
|
+ SEX_ENUM = [["男",0],["女",1]]
|
|
|
+
|
|
|
+ def get_avatar_img
|
|
|
+ url = "http://#{Ali::Oss::CDN_URL_FOR_HOST}/#{self.avatar}"
|
|
|
+ return url
|
|
|
+ end
|
|
|
+ rails_admin do
|
|
|
+ navigation_label '体脂秤用户'
|
|
|
+ parent ScaleDevice
|
|
|
+ weight -921
|
|
|
+
|
|
|
+ list do
|
|
|
+ filters [:wx_user,:created_at]
|
|
|
+ field :id
|
|
|
+ field :wx_user_id
|
|
|
+ field :wx_user
|
|
|
+ field :nick_name
|
|
|
+ field :avatar do
|
|
|
+ formatted_value do
|
|
|
+ bindings[:view].tag(:img,{:src => bindings[:object].get_avatar_img,
|
|
|
+ :style => 'width: 100px;height: 100px;cursor: pointer;display: block;max-width: 100px',
|
|
|
+ :onClick => "javascript:window.open('#{bindings[:object].get_avatar_img}')"})
|
|
|
+ end
|
|
|
+ end
|
|
|
+ field :sex, :enum do
|
|
|
+ filterable true
|
|
|
+ enum do
|
|
|
+ SEX_ENUM
|
|
|
+ end
|
|
|
+ end
|
|
|
+ field :height
|
|
|
+ field :age
|
|
|
+ field :target_weight
|
|
|
+ field :birthday
|
|
|
+ field :created_at
|
|
|
+ field :updated_at
|
|
|
+ end
|
|
|
+
|
|
|
+ show do
|
|
|
+ field :wx_user_id
|
|
|
+ field :wx_user
|
|
|
+ field :nick_name
|
|
|
+ field :avatar do
|
|
|
+ formatted_value do
|
|
|
+ bindings[:view].tag(:img,{:src => bindings[:object].get_avatar_img,
|
|
|
+ :style => 'width: 100px;height: 100px;cursor: pointer;display: block;max-width: 100px',
|
|
|
+ :onClick => "javascript:window.open('#{bindings[:object].get_avatar_img}')"})
|
|
|
+ end
|
|
|
+ end
|
|
|
+ field :sex, :enum do
|
|
|
+ filterable true
|
|
|
+ enum do
|
|
|
+ SEX_ENUM
|
|
|
+ end
|
|
|
+ end
|
|
|
+ field :height
|
|
|
+ field :age
|
|
|
+ field :target_weight
|
|
|
+ field :birthday
|
|
|
+ field :created_at
|
|
|
+ field :updated_at
|
|
|
+ end
|
|
|
+
|
|
|
+ edit do
|
|
|
+ field :wx_user_id
|
|
|
+ field :wx_user
|
|
|
+ field :nick_name
|
|
|
+ field :v_avatar, :file_upload do
|
|
|
+ pretty_value do
|
|
|
+ bindings[:view].tag(:img, {:src => bindings[:object].get_avatar_img, :class => 'preview'})
|
|
|
+ end
|
|
|
+ end
|
|
|
+ field :sex, :enum do
|
|
|
+ filterable true
|
|
|
+ enum do
|
|
|
+ SEX_ENUM
|
|
|
+ end
|
|
|
+ end
|
|
|
+ field :height
|
|
|
+ field :age
|
|
|
+ field :target_weight
|
|
|
+ field :birthday
|
|
|
+ field :created_at
|
|
|
+ field :updated_at
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ def v_avatar=file
|
|
|
+ unless file.blank?
|
|
|
+ clear_avatar_img
|
|
|
+ file_name = "#{UUID.new.generate[0...8].downcase}.jpg"
|
|
|
+ file_path = "#{IMG_STORE_PATH}/#{file_name}"
|
|
|
+ Ali::Oss.store(Ali::Oss::BUCKET_NAME_PUBLIC_READ, file_path, file.read)
|
|
|
+ self.head = file_path
|
|
|
+ self.save
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ def clear_avatar_img
|
|
|
+ file_path = "#{self.head}"
|
|
|
+ Ali::Oss.delete_object(Ali::Oss::BUCKET_NAME_PUBLIC_READ, file_path)
|
|
|
+ end
|
|
|
+
|
|
|
+end
|