Skip to content

Commit 45a6d20

Browse files
authored
Merge pull request #49 from cortex-cms/refactor/COR-689/Switch-Asset-File-Naming-Structure
COR 689: Switch Asset File Naming Structure
2 parents a6560b7 + 8cdbc8b commit 45a6d20

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

app/models/asset_field_type.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def data
3636
'file_size': asset_file_size,
3737
'updated_at': asset_updated_at
3838
},
39+
'media_title': media_title,
3940
'asset_field_type_id': id
4041
}
4142
end
@@ -74,6 +75,10 @@ def allowed_content_types
7475
end
7576
end
7677

78+
def media_title
79+
existing_data['media_title'] || ContentItemService.form_fields[@metadata[:naming_data][:title]][:text].parameterize.underscore
80+
end
81+
7782
def mapping_field_name
7883
"#{field_name.parameterize('_')}_asset_file_name"
7984
end
@@ -128,11 +133,7 @@ def style_urls
128133

129134
def existing_metadata
130135
metadata.except!(:existing_data)
131-
132-
unless existing_data.empty?
133-
metadata[:path].gsub!(":id", existing_data['asset_field_type_id']) if metadata[:path]
134-
end
135-
136+
metadata[:path].gsub!(":media_title", media_title) if metadata[:path]
136137
metadata
137138
end
138139
end

lib/tasks/cortex/core/media.rake

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ namespace :cortex do
1818
puts "Creating Fields..."
1919

2020
allowed_asset_content_types = %w(txt css js pdf doc docx ppt pptx csv xls xlsx svg ico png jpg gif bmp)
21+
fieldTitle = media.fields.new(name: 'Title', field_type: 'text_field_type', validations: {presence: true, uniqueness: true})
22+
fieldTitle.save
2123
media.fields.new(name: 'Asset', field_type: 'asset_field_type',
2224
validations:
2325
{
@@ -29,6 +31,9 @@ namespace :cortex do
2931
},
3032
metadata:
3133
{
34+
naming_data: {
35+
title: fieldTitle.id
36+
},
3237
styles: {
3338
large: {geometry: '1800x1800>', format: :jpg},
3439
medium: {geometry: '800x800>', format: :jpg},
@@ -39,14 +44,14 @@ namespace :cortex do
3944
},
4045
processors: [:thumbnail, :paperclip_optimizer],
4146
preserve_files: true,
42-
path: ':class/:attachment/careerbuilder-:style-:id.:extension',
47+
path: ':class/:attachment/:media_title-:style.:extension',
4348
s3_headers: {'Cache-Control': 'public, max-age=315576000'}
4449
})
45-
media.fields.new(name: 'Title', field_type: 'text_field_type', validations: {presence: true})
4650
media.fields.new(name: 'Description', field_type: 'text_field_type', validations: {presence: true})
4751
media.fields.new(name: 'Tags', field_type: 'tag_field_type')
4852
media.fields.new(name: 'Expiration Date', field_type: 'date_time_field_type')
4953
media.fields.new(name: 'Alt Tag', field_type: 'text_field_type')
54+
5055
media.save!
5156

5257
puts "Creating Wizard Decorators..."
@@ -61,7 +66,7 @@ namespace :cortex do
6166
"grid_width": 12,
6267
"elements": [
6368
{
64-
"id": media.fields[0].id
69+
"id": media.fields.find_by_name('Asset').id
6570
}
6671
]
6772
}
@@ -76,23 +81,23 @@ namespace :cortex do
7681
"grid_width": 6,
7782
"elements": [
7883
{
79-
"id": media.fields[1].id
84+
"id": media.fields.find_by_name('Title').id
8085
},
8186
{
82-
"id": media.fields[2].id,
87+
"id": media.fields.find_by_name('Description').id,
8388
"render_method": "multiline_input",
8489
"display": {
8590
"rows": 3
8691
}
8792
},
8893
{
89-
"id": media.fields[3].id
94+
"id": media.fields.find_by_name('Tags').id
9095
},
9196
{
92-
"id": media.fields[4].id
97+
"id": media.fields.find_by_name('Expiration Date').id
9398
},
9499
{
95-
"id": media.fields[5].id
100+
"id": media.fields.find_by_name('Alt Tag').id
96101
}
97102
]
98103
},
@@ -163,7 +168,7 @@ namespace :cortex do
163168
"cells": [
164169
{
165170
"field": {
166-
"id": media.fields[1].id
171+
"id": media.fields.find_by_name('Title').id
167172
},
168173
"display": {
169174
"classes": [
@@ -174,7 +179,7 @@ namespace :cortex do
174179
},
175180
{
176181
"field": {
177-
"id": media.fields[2].id
182+
"id": media.fields.find_by_name('Description').id
178183
}
179184
}
180185
]
@@ -184,7 +189,7 @@ namespace :cortex do
184189
"cells": [
185190
{
186191
"field": {
187-
"id": media.fields[3].id
192+
"id": media.fields.find_by_name('Tags').id
188193
},
189194
"display": {
190195
"classes": [

0 commit comments

Comments
 (0)