Use file template to generate new file content
This commit is contained in:
@ -10,6 +10,9 @@ module CodeOcean
|
||||
|
||||
def create
|
||||
@file = CodeOcean::File.new(file_params)
|
||||
if @file.file_template_id
|
||||
@file.content = FileTemplate.find(@file.file_template_id).content
|
||||
end
|
||||
authorize!
|
||||
create_and_respond(object: @file, path: proc { implement_exercise_path(@file.context.exercise, tab: 2) })
|
||||
end
|
||||
|
@ -1,6 +1,6 @@
|
||||
module FileParameters
|
||||
def file_attributes
|
||||
%w(content context_id feedback_message file_id file_type_id hidden id name native_file path read_only role weight)
|
||||
%w(content context_id feedback_message file_id file_type_id hidden id name native_file path read_only role weight file_template_id)
|
||||
end
|
||||
private :file_attributes
|
||||
end
|
||||
|
@ -8,5 +8,8 @@
|
||||
.form-group
|
||||
= f.label(:file_type_id, t('activerecord.attributes.file.file_type_id'))
|
||||
= f.collection_select(:file_type_id, FileType.where(binary: false).order(:name), :id, :name, {selected: @exercise.execution_environment.file_type.try(:id)}, class: 'form-control')
|
||||
.form-group
|
||||
= f.label(:file_template_id, t('activerecord.attributes.file.file_template_id'))
|
||||
= f.collection_select(:file_template_id, FileTemplate.all.order(:name), :id, :name, {}, class: 'form-control')
|
||||
= f.hidden_field(:context_id)
|
||||
.actions = render('shared/submit_button', f: f, object: CodeOcean::File.new)
|
||||
|
@ -54,6 +54,7 @@ de:
|
||||
read_only: Schreibgeschützt
|
||||
role: Rolle
|
||||
weight: Punktzahl
|
||||
file_template_id: "Dateivorlage"
|
||||
file_type:
|
||||
binary: Binär
|
||||
editor_mode: Editor-Modus
|
||||
|
@ -54,6 +54,7 @@ en:
|
||||
read_only: Read-only
|
||||
role: Role
|
||||
weight: Score
|
||||
file_template_id: "File Template"
|
||||
file_type:
|
||||
binary: Binary
|
||||
editor_mode: Editor Mode
|
||||
|
5
db/migrate/20160610111602_add_file_template_to_file.rb
Normal file
5
db/migrate/20160610111602_add_file_template_to_file.rb
Normal file
@ -0,0 +1,5 @@
|
||||
class AddFileTemplateToFile < ActiveRecord::Migration
|
||||
def change
|
||||
add_reference :files, :file_template
|
||||
end
|
||||
end
|
@ -11,7 +11,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20160609185708) do
|
||||
ActiveRecord::Schema.define(version: 20160610111602) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
@ -140,6 +140,7 @@ ActiveRecord::Schema.define(version: 20160609185708) do
|
||||
t.string "feedback_message"
|
||||
t.float "weight"
|
||||
t.string "path"
|
||||
t.integer "file_template_id"
|
||||
end
|
||||
|
||||
add_index "files", ["context_id", "context_type"], name: "index_files_on_context_id_and_context_type", using: :btree
|
||||
|
Reference in New Issue
Block a user