aboutsummaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorhellekin <hellekin@cepheide.org>2020-10-06 19:29:04 +0200
committerhellekin <hellekin@cepheide.org>2020-10-06 19:29:04 +0200
commit1564af069472e32ed322bf9acedc9c487bce1a15 (patch)
treed3bd0061dd08b4d236b02f1cf978466873ecc83d /app/controllers
parentb5052d4beeb7fd0bc14db21336588bb0483f7d09 (diff)
downloadincommon-map-1564af069472e32ed322bf9acedc9c487bce1a15.tar.gz
First pass at listing Resources
This implements resource listing and pagination. See /resources
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/resources_controller.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/app/controllers/resources_controller.rb b/app/controllers/resources_controller.rb
index 1253b5d..d7fd822 100644
--- a/app/controllers/resources_controller.rb
+++ b/app/controllers/resources_controller.rb
@@ -1,13 +1,55 @@
class ResourcesController < ApplicationController
+ before_action :set_resource, only: [:new, :edit, :update, :delete, :destroy]
+
+ # GET /resources
def index
+ @resources = Resource.order(:uuid).page params[:page]
end
+ # GET /resources/new
def new
end
+ # POST /resources
+ def create
+ # Check list:
+ # 1. UUID is not set, or not known
+ # 2. Agent is correct
+ # 3. Name, Description, Phone, Email, etc. do not yield results
+ # 4. Background job to validate fields and save
+ # 5. Or Background job to list similar items
+ # 6. Return to user with new record or list of mergeable ones
+ end
+
+ # GET /resources/:id
+ def show
+ end
+
+ # GET /resources/:id/edit
def edit
end
+ # PATCH /resources/:id
+ def update
+ # Check list:
+ # 1. Compare records for changes
+ # 2. Validate each change
+ # 3. Moderate queue or save
+ end
+
+ # GET /resources/:id/delete
def delete
end
+
+ # DELETE /resources/:id
+ def destroy
+ # Check list
+ # 1. User belongs to Agent and is :maintainer?
+ end
+
+ private
+
+ def set_resource
+ @resource = Resource.find_by(uuid: params[:id]) || Resource.new
+ end
end