diff --git a/db/migrations/019_add_cad_platform_to_projects.rb b/db/migrations/019_add_cad_platform_to_projects.rb new file mode 100644 index 0000000..fd01372 --- /dev/null +++ b/db/migrations/019_add_cad_platform_to_projects.rb @@ -0,0 +1,7 @@ +Sequel.migration do + change do + alter_table(:projects) do + add_column :cad_platform, String, :default => "SOLIDWORKS", :null => false + end + end +end diff --git a/db/migrations/020_add_drawing_link_to_parts.rb b/db/migrations/020_add_drawing_link_to_parts.rb new file mode 100644 index 0000000..1654517 --- /dev/null +++ b/db/migrations/020_add_drawing_link_to_parts.rb @@ -0,0 +1,7 @@ +Sequel.migration do + change do + alter_table(:parts) do + add_column :drawing_link, String, :default => "", :null => false + end + end +end diff --git a/models/project.rb b/models/project.rb index cb97422..e25cb7c 100755 --- a/models/project.rb +++ b/models/project.rb @@ -6,4 +6,9 @@ class Project < Sequel::Model one_to_many :parts one_to_many :orders + + CAD_PLATFORM_MAP = { + "Onshape" => "Onshape", + "SOLIDWORKS" => "SOLIDWORKS" + } end diff --git a/parts_server.rb b/parts_server.rb index 1e651c3..7bf4f7c 100755 --- a/parts_server.rb +++ b/parts_server.rb @@ -147,8 +147,11 @@ def send_email(to, subject, body) # Check parameter existence and format. halt(400, "Missing project name.") if params[:name].nil? halt(400, "Missing part number prefix.") if params[:part_number_prefix].nil? + halt(400, "Missing CAD platform.") if params[:cad_platform].nil? + halt(400, "Invalid CAD platform.") unless Project::CAD_PLATFORM_MAP.include?(params[:cad_platform]) - project = Project.create(:name => params[:name], :part_number_prefix => params[:part_number_prefix], :hide_dashboards => 0) + project = Project.create(:name => params[:name], :part_number_prefix => params[:part_number_prefix], :hide_dashboards => 0, + :cad_platform => params[:cad_platform]) redirect "/projects/#{project.id}" end @@ -210,6 +213,11 @@ def send_email(to, subject, body) @project.part_number_prefix = params[:part_number_prefix] end + if params[:cad_platform] + halt(400, "Invalid CAD platform.") unless Project::CAD_PLATFORM_MAP.include?(params[:cad_platform]) + @project.cad_platform = params[:cad_platform] + end + if params[:avatar] file = params[:avatar][:tempfile] Dir.mkdir("./uploads/projects/#{@project.id}") unless Dir.exist?("./uploads/projects/#{@project.id}") @@ -423,6 +431,11 @@ def send_email(to, subject, body) @part.drawing_created = 1 end + if params[:drawing_link] + @part.drawing_link = params[:drawing_link].strip + @part.drawing_created = 1 + end + if params[:toolpath] file = params[:toolpath][:tempfile] # Create directories if they do not exist already diff --git a/views/new_project.erb b/views/new_project.erb index 4bf0188..169027e 100755 --- a/views/new_project.erb +++ b/views/new_project.erb @@ -11,6 +11,20 @@ +