Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,7 @@ PLATFORMS
arm-linux-musl
arm64-darwin-22
arm64-darwin-23
arm64-darwin-24
arm64-darwin-25
x86_64-linux
x86_64-linux-gnu
Expand Down
70 changes: 70 additions & 0 deletions app/controllers/appointment_requirements_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
class AppointmentRequirementsController < ApplicationController
before_action :set_appointment_requirement, only: %i[ show edit update destroy ]

# GET /appointment_requirements or /appointment_requirements.json
def index
@appointment_requirements = AppointmentRequirement.all
end

# GET /appointment_requirements/1 or /appointment_requirements/1.json
def show
end

# GET /appointment_requirements/new
def new
@appointment_requirement = AppointmentRequirement.new
end

# GET /appointment_requirements/1/edit
def edit
end

# POST /appointment_requirements or /appointment_requirements.json
def create
@appointment_requirement = AppointmentRequirement.new(appointment_requirement_params)

respond_to do |format|
if @appointment_requirement.save
format.html { redirect_to @appointment_requirement, notice: "Appointment requirement was successfully created." }
format.json { render :show, status: :created, location: @appointment_requirement }
else
format.html { render :new, status: :unprocessable_content }
format.json { render json: @appointment_requirement.errors, status: :unprocessable_content }
end
end
end

# PATCH/PUT /appointment_requirements/1 or /appointment_requirements/1.json
def update
respond_to do |format|
if @appointment_requirement.update(appointment_requirement_params)
format.html { redirect_to @appointment_requirement, notice: "Appointment requirement was successfully updated.", status: :see_other }
format.json { render :show, status: :ok, location: @appointment_requirement }
else
format.html { render :edit, status: :unprocessable_content }
format.json { render json: @appointment_requirement.errors, status: :unprocessable_content }
end
end
end

# DELETE /appointment_requirements/1 or /appointment_requirements/1.json
def destroy
@appointment_requirement.destroy!

respond_to do |format|
format.html { redirect_to appointment_requirements_path, notice: "Appointment requirement was successfully destroyed.", status: :see_other }
format.json { head :no_content }
end
end

private
# Use callbacks to share common setup or constraints between actions.
def set_appointment_requirement
@appointment_requirement = AppointmentRequirement.find(params.expect(:id))
end

# Only allow a list of trusted parameters through.
def appointment_requirement_params
params.expect(appointment_requirement: [ :name ])
end
end
2 changes: 2 additions & 0 deletions app/helpers/appointment_requirements_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module AppointmentRequirementsHelper
end
3 changes: 3 additions & 0 deletions app/models/appointment_requirement.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class AppointmentRequirement < ApplicationRecord
Comment thread
Betsyyvc marked this conversation as resolved.
validates :name, presence: true
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<div id="<%= dom_id appointment_requirement %>">
<div>
<strong>Name:</strong>
<%= appointment_requirement.name %>
</div>

</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
json.extract! appointment_requirement, :id, :name, :created_at, :updated_at
json.url appointment_requirement_url(appointment_requirement, format: :json)
22 changes: 22 additions & 0 deletions app/views/appointment_requirements/_form.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<%= form_with(model: appointment_requirement) do |form| %>
<% if appointment_requirement.errors.any? %>
<div style="color: red">
<h2><%= pluralize(appointment_requirement.errors.count, "error") %> prohibited this appointment_requirement from being saved:</h2>

<ul>
<% appointment_requirement.errors.each do |error| %>
<li><%= error.full_message %></li>
<% end %>
</ul>
</div>
<% end %>

<div>
<%= form.label :name, style: "display: block" %>
<%= form.text_field :name %>
</div>

<div>
<%= form.submit %>
</div>
<% end %>
12 changes: 12 additions & 0 deletions app/views/appointment_requirements/edit.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<% content_for :title, "Editing appointment requirement" %>

<h1>Editing appointment requirement</h1>

<%= render "form", appointment_requirement: @appointment_requirement %>

<br>

<div>
<%= link_to "Show this appointment requirement", @appointment_requirement %> |
<%= link_to "Back to appointment requirements", appointment_requirements_path %>
</div>
17 changes: 17 additions & 0 deletions app/views/appointment_requirements/index.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<p style="color: green"><%= notice %></p>

<% content_for :title, "Appointment requirements" %>

<h1>Appointment requirements</h1>

<div id="appointment_requirements">

<% @appointment_requirements.each do |appointment_requirement| %>
<%= render appointment_requirement %>
<p>
<%= link_to "Show this appointment requirement", appointment_requirement %>
</p>
<% end %>
</div>

<%= link_to "New appointment requirement", new_appointment_requirement_path %>
1 change: 1 addition & 0 deletions app/views/appointment_requirements/index.json.jbuilder
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
json.array! @appointment_requirements, partial: "appointment_requirements/appointment_requirement", as: :appointment_requirement
11 changes: 11 additions & 0 deletions app/views/appointment_requirements/new.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<% content_for :title, "New appointment requirement" %>

<h1>New appointment requirement</h1>

<%= render "form", appointment_requirement: @appointment_requirement %>

<br>

<div>
<%= link_to "Back to appointment requirements", appointment_requirements_path %>
</div>
10 changes: 10 additions & 0 deletions app/views/appointment_requirements/show.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<p style="color: green"><%= notice %></p>

<%= render @appointment_requirement %>

<div>
<%= link_to "Edit this appointment requirement", edit_appointment_requirement_path(@appointment_requirement) %> |
<%= link_to "Back to appointment requirements", appointment_requirements_path %>

<%= button_to "Destroy this appointment requirement", @appointment_requirement, method: :delete %>
</div>
1 change: 1 addition & 0 deletions app/views/appointment_requirements/show.json.jbuilder
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
json.partial! "appointment_requirements/appointment_requirement", appointment_requirement: @appointment_requirement
1 change: 1 addition & 0 deletions config/routes.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Rails.application.routes.draw do
resources :appointment_requirements
devise_for :users
resources :medications
resources :medication_forms
Expand Down
9 changes: 9 additions & 0 deletions db/migrate/20260829183810_create_appointment_requirements.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class CreateAppointmentRequirements < ActiveRecord::Migration[8.1]
def change
create_table :appointment_requirements do |t|
t.string :name

t.timestamps
end
end
end
6 changes: 6 additions & 0 deletions db/schema.rb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 48 additions & 0 deletions test/controllers/appointment_requirements_controller_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
require "test_helper"

class AppointmentRequirementsControllerTest < ActionDispatch::IntegrationTest
setup do
@appointment_requirement = appointment_requirements(:one)
end

test "should get index" do
get appointment_requirements_url
assert_response :success
end

test "should get new" do
get new_appointment_requirement_url
assert_response :success
end

test "should create appointment_requirement" do
assert_difference("AppointmentRequirement.count") do
post appointment_requirements_url, params: { appointment_requirement: { name: @appointment_requirement.name } }
end

assert_redirected_to appointment_requirement_url(AppointmentRequirement.last)
end

test "should show appointment_requirement" do
get appointment_requirement_url(@appointment_requirement)
assert_response :success
end

test "should get edit" do
get edit_appointment_requirement_url(@appointment_requirement)
assert_response :success
end

test "should update appointment_requirement" do
patch appointment_requirement_url(@appointment_requirement), params: { appointment_requirement: { name: @appointment_requirement.name } }
assert_redirected_to appointment_requirement_url(@appointment_requirement)
end

test "should destroy appointment_requirement" do
assert_difference("AppointmentRequirement.count", -1) do
delete appointment_requirement_url(@appointment_requirement)
end

assert_redirected_to appointment_requirements_url
end
end
7 changes: 7 additions & 0 deletions test/fixtures/appointment_requirements.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html

one:
name: MyString

two:
name: MyString
Loading