labimotion 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6043cc7059f5394e70f75b1a06415fff819c17c210450ec0f335d896166709db
4
- data.tar.gz: a20e04caa39ff947b878533a8d13f4019f5722d3a1a309d0066f776b648d3514
3
+ metadata.gz: 4cb214fd84c4c884358893ea3a5c7af5504bf3c9d366747d95c4c86aa6f2c42e
4
+ data.tar.gz: 5ec0a7b4e10b6174ba9802648c9f9f15e85c03b491035d375b06ee85e25ce15e
5
5
  SHA512:
6
- metadata.gz: 28b2d0ee49532e30873049b382275384bae81c8db730397727cadbad8c663b2e03fdd7b50f6c805ca09c99a3dffe1eef1d66378ca5802645ba324046f0cf07e9
7
- data.tar.gz: b2130bd66485442b4944c73f2bb61755e6511d33ab6dd27895eab14df06417b6bb1d8feaa7945b77146b3ea2bc51a15748177cf416602750940312cdb9ec5173
6
+ metadata.gz: 6c2c0a26c8c8ce05d44f976d1146464f72c1dd173529cff04fa9918863c8f074f69299d90d2d9fefafcd5628a5dd28d29ade1b5b9029b4aac88602f05d64db90
7
+ data.tar.gz: 67bfe5f4e12b5b8412a95fd4124818dfb4da775baa2558e4934c4b8b86d79c43c0c65f51070e4893ef3cf857bfae2e3efd6061bbbd1b5b5759917bfed936568d
@@ -318,7 +318,7 @@ module Labimotion
318
318
  if Labimotion::IS_RAILS5 == true
319
319
  {
320
320
  element: ElementPermissionProxy.new(current_user, element, user_ids).serialized,
321
- attachments: Entities::AttachmentEntity.represent(element.attachments)
321
+ attachments: attach_thumbnail(element&.attachments)
322
322
  }
323
323
  else
324
324
  {
@@ -326,7 +326,7 @@ module Labimotion
326
326
  element,
327
327
  detail_levels: ElementDetailLevelCalculator.new(user: current_user, element: element).detail_levels,
328
328
  ),
329
- attachments: Entities::AttachmentEntity.represent(element.attachments),
329
+ attachments: attach_thumbnail(element&.attachments)
330
330
  }
331
331
  end
332
332
  rescue StandardError => e
@@ -350,7 +350,7 @@ module Labimotion
350
350
  if Labimotion::IS_RAILS5 == true
351
351
  {
352
352
  element: ElementPermissionProxy.new(current_user, element, user_ids).serialized,
353
- attachments: Entities::AttachmentEntity.represent(element.attachments)
353
+ attachments: attach_thumbnail(element&.attachments)
354
354
  }
355
355
  else
356
356
  present(
@@ -386,7 +386,7 @@ module Labimotion
386
386
  if Labimotion::IS_RAILS5 == true
387
387
  {
388
388
  element: ElementPermissionProxy.new(current_user, element, user_ids).serialized,
389
- attachments: Entities::AttachmentEntity.represent(element.attachments)
389
+ attachments: attach_thumbnail(element&.attachments)
390
390
  }
391
391
  else
392
392
  {
@@ -394,7 +394,7 @@ module Labimotion
394
394
  element,
395
395
  detail_levels: ElementDetailLevelCalculator.new(user: current_user, element: element).detail_levels,
396
396
  ),
397
- attachments: Entities::AttachmentEntity.represent(element.attachments),
397
+ attachments: attach_thumbnail(element&.attachments),
398
398
  }
399
399
  end
400
400
  rescue StandardError => e
@@ -159,7 +159,7 @@ module Labimotion
159
159
  att_ary = create_attachments(
160
160
  params[:attfiles],
161
161
  params[:delfiles],
162
- params[:att_type],
162
+ "Labimotion::#{params[:att_type]}",
163
163
  params[:att_id],
164
164
  params[:attfilesIdentifier],
165
165
  current_user.id
@@ -326,5 +326,14 @@ module Labimotion
326
326
  raise e
327
327
  end
328
328
 
329
+ def attach_thumbnail(_attachments)
330
+ attachments = _attachments&.map do |attachment|
331
+ _att = Entities::AttachmentEntity.represent(attachment, serializable: true)
332
+ _att[:thumbnail] = attachment.thumb ? Base64.encode64(attachment.read_thumbnail) : nil
333
+ _att
334
+ end
335
+ attachments
336
+ end
337
+
329
338
  end
330
339
  end
@@ -101,7 +101,7 @@ module Labimotion
101
101
  cds = Container.find(id)
102
102
  cds.attachments.where(aasm_state: 'csv').each do |att|
103
103
  name = File.basename(att.filename, '.csv')
104
- sheet = @xfile.workbook.add_worksheet(name: name)
104
+ sheet = @xfile.workbook.add_worksheet(name: name.slice(0, 25))
105
105
 
106
106
  if Labimotion::IS_RAILS5 == true
107
107
  File.open(att.store.path) do |fi|
@@ -23,5 +23,14 @@ module Labimotion
23
23
  end
24
24
  properties
25
25
  end
26
+
27
+ def migrate_workflow
28
+ return if properties_template.nil? || properties_release.nil?
29
+
30
+ return if properties_template['flow'].nil? && properties_release['flow'].nil?
31
+
32
+ update_column(:properties_template, split_workflow(properties_template)) if properties_template['flow']
33
+ update_column(:properties_release, split_workflow(properties_release)) if properties_release['flow']
34
+ end
26
35
  end
27
36
  end
@@ -12,6 +12,7 @@ module Labimotion
12
12
  include ElementUIStateScopes
13
13
  include Collectable
14
14
  ## include AnalysisCodes
15
+ include ElementCodes
15
16
  include Taggable
16
17
  include Workflow
17
18
  include Segmentable
@@ -58,7 +59,7 @@ module Labimotion
58
59
 
59
60
 
60
61
  def attachments
61
- Attachment.where(attachable_id: self.id, attachable_type: 'Element')
62
+ Attachment.where(attachable_id: self.id, attachable_type: self.class.name)
62
63
  end
63
64
 
64
65
  def self.get_associated_samples(element_ids)
@@ -23,13 +23,5 @@ module Labimotion
23
23
  )
24
24
  end
25
25
 
26
- def migrate_workflow
27
- return if properties_template.nil? || properties_release.nil?
28
-
29
- return if properties_template['flow'].nil? && properties_release['flow'].nil?
30
-
31
- update_column(:properties_template, split_workflow(properties_template)) if properties_template['flow']
32
- update_column(:properties_release, split_workflow(properties_release)) if properties_release['flow']
33
- end
34
26
  end
35
27
  end
@@ -6,6 +6,7 @@ module Labimotion
6
6
  self.table_name = :segment_klasses
7
7
  acts_as_paranoid
8
8
  include GenericKlassRevisions
9
+ include Workflow
9
10
  belongs_to :element_klass, class_name: 'Labimotion::ElementKlass'
10
11
  has_many :segments, dependent: :destroy, class_name: 'Labimotion::Segment'
11
12
  has_many :segment_klasses_revisions, dependent: :destroy, class_name: 'Labimotion::SegmentKlassesRevision'
@@ -22,6 +22,26 @@ module Labimotion
22
22
  fetch_many.call(klasses, {'created_by' => 'User'})
23
23
  end
24
24
 
25
+ def self.fetch_elements(collection, segments, attachments, fetch_many, fetch_one, fetch_containers)
26
+ fetch_many.call(collection.elements, {
27
+ 'element_klass_id' => 'Labimotion::ElementKlass',
28
+ 'created_by' => 'User',
29
+ })
30
+ fetch_many.call(collection.collections_elements, {
31
+ 'collection_id' => 'Collection',
32
+ 'element_id' => 'Labimotion::Element',
33
+ })
34
+ collection.elements.each do |element|
35
+
36
+ element, attachments = Labimotion::Export.fetch_properties(element, attachments, &fetch_one)
37
+ fetch_containers.call(element)
38
+ segment, @attachments = Labimotion::Export.fetch_segments(element, attachments, &fetch_one)
39
+ segments += segment if segment.present?
40
+ end
41
+
42
+ [segments, attachments]
43
+
44
+ end
25
45
 
26
46
  def self.fetch_segments(element, attachments, &fetch_one)
27
47
  element_type = element.class.name
@@ -3,5 +3,5 @@
3
3
  module Labimotion
4
4
  IS_RAILS5 = false
5
5
  VERSION = '0.1.14' if Labimotion::IS_RAILS5 == true
6
- VERSION = '1.0.5' if Labimotion::IS_RAILS5 == false
6
+ VERSION = '1.0.6' if Labimotion::IS_RAILS5 == false
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: labimotion
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chia-Lin Lin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-08-31 00:00:00.000000000 Z
12
+ date: 2023-09-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails