8ed09ff7de
This patch adds a checkbox to make holds created by club hold to default to patron's home branch if possible. To test: 1. Apply this patch 2. Create a club, and add two patrons (from now on called patron A and patron B) to it, each one form a different library.. 3. Create a hold for the club, and in the details set pickup location different from any of the patrons. 4. Check "Pickup at patron's home library when possible" checkbox SUCCESS => when submitted, pickup location of holds defaults to patron's home branch 5. Modify patron A's library and set pickup location to no. 6. Repeat steps 3 and 4. SUCCESS => when submitted, patron A's hold now points to pickup location setted on step 3, and patron B's hold still points to his home branch. 7. Sign off Sponsored-by: Southeast Kansas Library - SEKLS Signed-off-by: Jason Robb <jrobb@sekls.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
104 lines
No EOL
3.6 KiB
JSON
104 lines
No EOL
3.6 KiB
JSON
{
|
|
"/clubs/{club_id}/holds": {
|
|
"post": {
|
|
"x-mojo-to": "Clubs::Holds#add",
|
|
"operationId": "addClubHold",
|
|
"tags": ["holds", "clubs"],
|
|
"parameters": [{
|
|
"$ref": "../parameters.json#/club_id_pp"
|
|
}, {
|
|
"name": "body",
|
|
"in": "body",
|
|
"description": "A JSON object containing informations about the new hold",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"biblio_id": {
|
|
"description": "Internal biblio identifier",
|
|
"type": [ "integer", "null" ]
|
|
},
|
|
"item_id": {
|
|
"description": "Internal item identifier",
|
|
"type": [ "integer", "null" ]
|
|
},
|
|
"pickup_library_id": {
|
|
"description": "Internal library identifier for the pickup library",
|
|
"type": "string"
|
|
},
|
|
"expiration_date": {
|
|
"description": "Hold end date",
|
|
"type": ["string", "null"],
|
|
"format": "date"
|
|
},
|
|
"notes": {
|
|
"description": "Notes related to this hold",
|
|
"type": [ "string", "null" ]
|
|
},
|
|
"item_type": {
|
|
"description": "Limit hold on one itemtype (ignored for item-level holds)",
|
|
"type": [ "string", "null" ]
|
|
},
|
|
"default_patron_home": {
|
|
"description": "For each patron, set pickup location to patron's home library if possible",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [ "pickup_library_id" ]
|
|
}
|
|
}
|
|
],
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created hold",
|
|
"schema": {
|
|
"$ref": "../definitions/club_hold.json"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Missing or wrong parameters",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Authentication required",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Hold not allowed",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Hold not found",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "Under maintenance",
|
|
"schema": {
|
|
"$ref": "../definitions.json#/error"
|
|
}
|
|
}
|
|
},
|
|
"x-koha-authorization": {
|
|
"permissions": {
|
|
"reserveforothers": "1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |