<option value="supplement">[% l('Supplement') %]</option>
<option value="index">[% l('Index') %]</option>
</select>
- <button class="btn btn-default" ng-click="openPatternEditorDialog(pred)">[% l('Edit Pattern') %]</button>
+ <button class="btn btn-default" ng-click="openPatternEditorDialog(pred, false)" ng-if=" pred._can_edit_or_delete">[% l('Edit Pattern') %]</button>
+ <button class="btn btn-default" ng-click="openPatternEditorDialog(pred, true)" ng-if="!pred._can_edit_or_delete">[% l('View Pattern') %]</button>
</div>
<div>
<button class="btn btn-default" ng-disabled="pred.predform.$dirty" ng-click="add_issuances()">[% l('Predict New Issues') %]</button>
- <button type="submit" class="btn btn-default" ng-click="deleteScap(pred)">[% l('Delete') %]</button>
+ <button type="submit" class="btn btn-default" ng-disabled="!pred._can_edit_or_delete" ng-click="deleteScap(pred)">[% l('Delete') %]</button>
<button type="submit" class="btn btn-primary" ng-disabled="!pred.predform.$dirty" ng-click="updateScap(pred)">[% l('Save') %]</button>
</div>
</form>
function reload(ssubId) {
var ssub = egSerialsCoreSvc.get_ssub(ssubId);
$scope.predictions = egCore.idl.toTypedHash(ssub.scaps());
+ angular.forEach($scope.predictions, function(pred) {
+ pred._can_edit_or_delete = false;
+ egCore.net.request(
+ 'open-ils.serial',
+ 'open-ils.serial.caption_and_pattern.safe_delete.dry_run',
+ egCore.auth.token(),
+ pred.id
+ ).then(function(result) {
+ if (result == 1) pred._can_edit_or_delete = true;
+ });
+ });
egSerialsCoreSvc.fetch_spt().then(function() {
$scope.pattern_templates = egCore.idl.toTypedHash(egSerialsCoreSvc.sptList);
$scope.active_pattern_template = { id : null };
$timeout(function() { $scope.new_prediction.predform.$setDirty() });
}
- $scope.openPatternEditorDialog = function(pred) {
+ $scope.openPatternEditorDialog = function(pred, viewOnly) {
$uibModal.open({
templateUrl: './serials/t_pattern_editor_dialog',
size: 'lg',
backdrop: 'static',
controller:
['$scope', '$uibModalInstance', function($scope, $uibModalInstance) {
+ $scope.viewOnly = viewOnly;
$scope.focusMe = true;
$scope.patternCode = pred.pattern_code;
$scope.ok = function(patternCode) { $uibModalInstance.close(patternCode) }