//POST protected override DriverResult Editor(ContentPart part, HiddenStringField field, IUpdateModel updater, dynamic shapeHelper) { //require at least the "see" permission if (!_orchardServices.Authorizer.Authorize(HiddenFieldsPermissions.MaySeeHiddenFields)) { return(null); } //to update, require the "edit" permission if (_orchardServices.Authorizer.Authorize(HiddenFieldsPermissions.MayEditHiddenFields)) { var fs = field.PartFieldDefinition.Settings.GetModel <HiddenStringFieldSettings>(); //tokenization happens in the handler var vm = new HiddenStringFieldDriverViewModel { Field = field, Value = field.Value, Settings = fs, IsEditAuthorized = _orchardServices.Authorizer.Authorize(HiddenFieldsPermissions.MayEditHiddenFields) }; if (updater.TryUpdateModel(vm, GetPrefix(field, part), null, null)) { field.Value = vm.Value; } } return(Editor(part, field, shapeHelper)); }
//GET protected override DriverResult Editor(ContentPart part, HiddenStringField field, dynamic shapeHelper) { //require at least the "see" permission if (AuthorizeSee(part, field)) { return(ContentShape("Fields_Hidden_String_Edit", GetDifferentiator(field, part), () => { var fs = field.PartFieldDefinition.Settings.GetModel <HiddenStringFieldSettings>(); //tokenization happens in the handler var vm = new HiddenStringFieldDriverViewModel { Field = field, Value = field.Value, Settings = fs, IsEditAuthorized = AuthorizeEdit(part, field) }; return shapeHelper.EditorTemplate(TemplateName: "Fields.Hidden.String.Edit", Model: vm, Prefix: GetPrefix(field, part)); })); } // it is better to return an empty shape instead of null return(ContentShape("Fields_Hidden_String_Edit_Unauthorized", GetDifferentiator(field, part), () => { return shapeHelper.EditorTemplate( TemplateName: "Fields.Hidden.String.Edit.Unauthorized", Model: new HiddenStringFieldDriverViewModel(), Prefix: GetPrefix(field, part)); })); }
//GET protected override DriverResult Editor(ContentPart part, HiddenStringField field, dynamic shapeHelper) { //require at least the "see" permission if (!_orchardServices.Authorizer.Authorize(HiddenFieldsPermissions.MaySeeHiddenFields)) { return(null); } return(ContentShape("Fields_Hidden_String_Edit", GetDifferentiator(field, part), () => { var fs = field.PartFieldDefinition.Settings.GetModel <HiddenStringFieldSettings>(); //tokenization happens in the handler var vm = new HiddenStringFieldDriverViewModel { Field = field, Value = field.Value, Settings = fs, IsEditAuthorized = _orchardServices.Authorizer.Authorize(HiddenFieldsPermissions.MayEditHiddenFields) }; return shapeHelper.EditorTemplate(TemplateName: "Fields.Hidden.String.Edit", Model: vm, Prefix: GetPrefix(field, part)); })); }