accepts_nested_attributes_for :panel_pictures, :allow_destroy => true
accepts_nested_attributes_for :balloons, :allow_destroy => true
- def self.max_seq comic_id
- Panel.maximum(:seqno, :conditions => ['comic_id = ?', comic_id]).to_i
+ def self.max_t comic_id
+ Panel.maximum(:t, :conditions => ['comic_id = ?', comic_id]).to_i
end
- def self.find_seq comic_id, seqno
- Panel.find(:first, :conditions => ['comic_id = ? and seqno = ?', comic_id, seqno])
+ def self.find_t comic_id, t
+ Panel.find(:first, :conditions => ['comic_id = ? and t = ?', comic_id, t])
end
#更新する時にPanelIDをチェックしとかないと勝手に所属先を変えられるゾ!?
def vdt_save
f = nil
- max_seq = Panel.max_seq self.comic_id
- f = Panel.find_seq(self.comic_id, self.seqno) if self.seqno
+ max_t = Panel.max_t self.comic_id
+ f = Panel.find_t(self.comic_id, self.t) if self.t
if f
- Panel.update_all('seqno = seqno + 1', ['comic_id = ? and seqno >= ?', self.comic_id, self.seqno])
+ Panel.update_all('t = t + 1', ['comic_id = ? and t >= ?', self.comic_id, self.t])
else
- self.seqno = max_seq + 1
+ self.t = max_t + 1
end
self.save
end
- def move_to new_seq
- return true if self.seqno == new_seq
- if self.seqno > new_seq
- Panel.update_all('seqno = seqno + 1', ['comic_id = ? and (seqno >= ? and seqno < ?)', self.comic_id, new_seq, self.seqno])
+ def move_to new_t
+ return true if self.t == new_t
+ if self.t > new_t
+ Panel.update_all('t = t + 1', ['comic_id = ? and (t >= ? and t < ?)', self.comic_id, new_t, self.t])
else
- nf = Panel.find_seq(self.comic_id, new_seq)
- max_seq = Panel.max_seq self.comic_id
- new_seq = max_seq if new_seq > max_seq
- Panel.update_all('seqno = seqno - 1', ['comic_id = ? and (seqno > ? and seqno <= ?)', self.comic_id, self.seqno, new_seq])
+ nf = Panel.find_t(self.comic_id, new_t)
+ max_t = Panel.max_t self.comic_id
+ new_t = max_t if new_t > max_t
+ Panel.update_all('t = t - 1', ['comic_id = ? and (t > ? and t <= ?)', self.comic_id, self.t, new_t])
end
- self.seqno = new_seq
+ self.t = new_t
self.save
end
def destroy_and_shorten
- Panel.update_all('seqno = seqno - 1', ['comic_id = ? and (seqno > ?)', self.comic_id, self.seqno])
+ Panel.update_all('t = t - 1', ['comic_id = ? and (t > ?)', self.comic_id, self.t])
self.destroy
end