diff --git a/server/AyaNova/Controllers/PurchaseOrderController.cs b/server/AyaNova/Controllers/PurchaseOrderController.cs index 71f946f0..777776e4 100644 --- a/server/AyaNova/Controllers/PurchaseOrderController.cs +++ b/server/AyaNova/Controllers/PurchaseOrderController.cs @@ -60,29 +60,29 @@ namespace AyaNova.Api.Controllers return CreatedAtAction(nameof(PurchaseOrderController.GetPurchaseOrder), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o)); } - /// - /// Duplicate PurchaseOrder - /// (Wiki and Attachments are not duplicated) - /// - /// Source object id - /// From route path - /// PurchaseOrder - [HttpPost("duplicate/{id}")] - public async Task DuplicatePurchaseOrder([FromRoute] long id, ApiVersion apiVersion) - { - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - PurchaseOrderBiz biz = PurchaseOrderBiz.GetBiz(ct, HttpContext); - if (!Authorized.HasCreateRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - PurchaseOrder o = await biz.DuplicateAsync(id); - if (o == null) - return BadRequest(new ApiErrorResponse(biz.Errors)); - else - return CreatedAtAction(nameof(PurchaseOrderController.GetPurchaseOrder), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o)); - } + // /// + // /// Duplicate PurchaseOrder + // /// (Wiki and Attachments are not duplicated) + // /// + // /// Source object id + // /// From route path + // /// PurchaseOrder + // [HttpPost("duplicate/{id}")] + // public async Task DuplicatePurchaseOrder([FromRoute] long id, ApiVersion apiVersion) + // { + // if (!serverState.IsOpen) + // return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + // PurchaseOrderBiz biz = PurchaseOrderBiz.GetBiz(ct, HttpContext); + // if (!Authorized.HasCreateRole(HttpContext.Items, biz.BizType)) + // return StatusCode(403, new ApiNotAuthorizedResponse()); + // if (!ModelState.IsValid) + // return BadRequest(new ApiErrorResponse(ModelState)); + // PurchaseOrder o = await biz.DuplicateAsync(id); + // if (o == null) + // return BadRequest(new ApiErrorResponse(biz.Errors)); + // else + // return CreatedAtAction(nameof(PurchaseOrderController.GetPurchaseOrder), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o)); + // } /// /// Get PurchaseOrder diff --git a/server/AyaNova/Controllers/UserController.cs b/server/AyaNova/Controllers/UserController.cs index 9f91b6cc..44f008ee 100644 --- a/server/AyaNova/Controllers/UserController.cs +++ b/server/AyaNova/Controllers/UserController.cs @@ -159,35 +159,35 @@ namespace AyaNova.Api.Controllers } } - /// - /// Duplicate User - /// (Wiki and Attachments are not duplicated) - /// - /// Source object id - /// From route path - /// User - [HttpPost("duplicate/{id}")] - public async Task DuplicateUser([FromRoute] long id, ApiVersion apiVersion) - { - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - UserBiz biz = UserBiz.GetBiz(ct, HttpContext); + // /// + // /// Duplicate User + // /// (Wiki and Attachments are not duplicated) + // /// + // /// Source object id + // /// From route path + // /// User + // [HttpPost("duplicate/{id}")] + // public async Task DuplicateUser([FromRoute] long id, ApiVersion apiVersion) + // { + // if (!serverState.IsOpen) + // return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + // UserBiz biz = UserBiz.GetBiz(ct, HttpContext); - //Also used for Contacts (customer type user or ho type user) - //by users with no User right so further biz rule required depending on usertype - //this is just phase 1 - if (!Authorized.HasCreateRole(HttpContext.Items, AyaType.User) && !Authorized.HasCreateRole(HttpContext.Items, AyaType.Customer)) - return StatusCode(403, new ApiNotAuthorizedResponse()); + // //Also used for Contacts (customer type user or ho type user) + // //by users with no User right so further biz rule required depending on usertype + // //this is just phase 1 + // if (!Authorized.HasCreateRole(HttpContext.Items, AyaType.User) && !Authorized.HasCreateRole(HttpContext.Items, AyaType.Customer)) + // return StatusCode(403, new ApiNotAuthorizedResponse()); - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - User o = await biz.DuplicateAsync(id); - if (o == null) - return BadRequest(new ApiErrorResponse(biz.Errors)); - else - return CreatedAtAction(nameof(UserController.GetUser), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o)); - } + // if (!ModelState.IsValid) + // return BadRequest(new ApiErrorResponse(ModelState)); + // User o = await biz.DuplicateAsync(id); + // if (o == null) + // return BadRequest(new ApiErrorResponse(biz.Errors)); + // else + // return CreatedAtAction(nameof(UserController.GetUser), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o)); + // } /// diff --git a/server/AyaNova/biz/PurchaseOrderBiz.cs b/server/AyaNova/biz/PurchaseOrderBiz.cs index b0867d45..853156e4 100644 --- a/server/AyaNova/biz/PurchaseOrderBiz.cs +++ b/server/AyaNova/biz/PurchaseOrderBiz.cs @@ -74,45 +74,45 @@ namespace AyaNova.Biz } } - //////////////////////////////////////////////////////////////////////////////////////////////// - //DUPLICATE - // - internal async Task DuplicateAsync(long id) - { - //TODO: allow this but only with ZEROS set for the actual received amount and ignore woitempart requested during dupe? + // //////////////////////////////////////////////////////////////////////////////////////////////// + // //DUPLICATE + // // + // internal async Task DuplicateAsync(long id) + // { + // //TODO: allow this but only with ZEROS set for the actual received amount and ignore woitempart requested during dupe? - var dbObject = await GetAsync(id, false, false); - if (dbObject == null) - { - AddError(ApiErrorCode.NOT_FOUND, "id"); - return null; - } - PurchaseOrder newObject = new PurchaseOrder(); - CopyObject.Copy(dbObject, newObject, "Wiki,Serial"); - newObject.Id = 0; - newObject.Concurrency = 0; - newObject.Status = PurchaseOrderStatus.OpenNotYetOrdered; - foreach (var item in newObject.Items) - { - item.Id = 0; - item.Concurrency = 0; - item.QuantityReceived = 0; - item.ReceivedCost = 0; - item.ReceivedDate = null; - item.PurchaseOrderId = 0; - item.WorkorderItemPartRequestId = null; - item.PartRequestedById = null; - } + // var dbObject = await GetAsync(id, false, false); + // if (dbObject == null) + // { + // AddError(ApiErrorCode.NOT_FOUND, "id"); + // return null; + // } + // PurchaseOrder newObject = new PurchaseOrder(); + // CopyObject.Copy(dbObject, newObject, "Wiki,Serial"); + // newObject.Id = 0; + // newObject.Concurrency = 0; + // newObject.Status = PurchaseOrderStatus.OpenNotYetOrdered; + // foreach (var item in newObject.Items) + // { + // item.Id = 0; + // item.Concurrency = 0; + // item.QuantityReceived = 0; + // item.ReceivedCost = 0; + // item.ReceivedDate = null; + // item.PurchaseOrderId = 0; + // item.WorkorderItemPartRequestId = null; + // item.PartRequestedById = null; + // } - await ct.PurchaseOrder.AddAsync(newObject); - await ct.SaveChangesAsync(); - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct); - await SearchIndexAsync(newObject, true); - await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null); - await HandlePotentialNotificationEvent(AyaEvent.Created, newObject); - await SetDisplayFields(newObject); - return newObject; - } + // await ct.PurchaseOrder.AddAsync(newObject); + // await ct.SaveChangesAsync(); + // await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct); + // await SearchIndexAsync(newObject, true); + // await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null); + // await HandlePotentialNotificationEvent(AyaEvent.Created, newObject); + // await SetDisplayFields(newObject); + // return newObject; + // } //////////////////////////////////////////////////////////////////////////////////////////////// //GET diff --git a/server/AyaNova/biz/UserBiz.cs b/server/AyaNova/biz/UserBiz.cs index 9084f5ff..fd70a905 100644 --- a/server/AyaNova/biz/UserBiz.cs +++ b/server/AyaNova/biz/UserBiz.cs @@ -286,56 +286,56 @@ namespace AyaNova.Biz } } - //////////////////////////////////////////////////////////////////////////////////////////////// - //DUPLICATE - // - internal async Task DuplicateAsync(long id) - { - User dbObject = await GetAsync(id, false); + // //////////////////////////////////////////////////////////////////////////////////////////////// + // //DUPLICATE + // // + // internal async Task DuplicateAsync(long id) + // { + // User dbObject = await GetAsync(id, false); - if (dbObject == null) - { - AddError(ApiErrorCode.NOT_FOUND, "id"); - return null; - } + // if (dbObject == null) + // { + // AddError(ApiErrorCode.NOT_FOUND, "id"); + // return null; + // } - //Also used for Contacts (customer type user or ho type user) - //by users with no User right but with Customer rights so need to double check here - if ( - (dbObject.IsOutsideUser && !Authorized.HasCreateRole(CurrentUserRoles, AyaType.Customer)) || - (!dbObject.IsOutsideUser && !Authorized.HasCreateRole(CurrentUserRoles, AyaType.User)) - ) - { - AddError(ApiErrorCode.NOT_AUTHORIZED); - return null; - } + // //Also used for Contacts (customer type user or ho type user) + // //by users with no User right but with Customer rights so need to double check here + // if ( + // (dbObject.IsOutsideUser && !Authorized.HasCreateRole(CurrentUserRoles, AyaType.Customer)) || + // (!dbObject.IsOutsideUser && !Authorized.HasCreateRole(CurrentUserRoles, AyaType.User)) + // ) + // { + // AddError(ApiErrorCode.NOT_AUTHORIZED); + // return null; + // } - User newObject = new User(); - CopyObject.Copy(dbObject, newObject, "Id, Salt, Login, Password, CurrentAuthToken, DlKey, DlKeyExpire, Wiki, Serial"); - string newUniqueName = string.Empty; - bool NotUnique = true; - long l = 1; - do - { - newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255); - NotUnique = await ct.User.AnyAsync(z => z.Name == newUniqueName); - } while (NotUnique); - newObject.Name = newUniqueName; - newObject.Id = 0; - newObject.Concurrency = 0; - newObject.Salt = Hasher.GenerateSalt(); - newObject.Password = Hasher.GenerateSalt(); - newObject.Login = Hasher.GenerateSalt(); - newObject.UserOptions = new UserOptions(); - newObject.UserOptions.TranslationId = ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID; - await ct.User.AddAsync(newObject); - await ct.SaveChangesAsync(); - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct); - await SearchIndexAsync(newObject, true); - await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null); - await HandlePotentialNotificationEvent(AyaEvent.Created, newObject); - return newObject; - } + // User newObject = new User(); + // CopyObject.Copy(dbObject, newObject, "Id, Salt, Login, Password, CurrentAuthToken, DlKey, DlKeyExpire, Wiki, Serial"); + // string newUniqueName = string.Empty; + // bool NotUnique = true; + // long l = 1; + // do + // { + // newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255); + // NotUnique = await ct.User.AnyAsync(z => z.Name == newUniqueName); + // } while (NotUnique); + // newObject.Name = newUniqueName; + // newObject.Id = 0; + // newObject.Concurrency = 0; + // newObject.Salt = Hasher.GenerateSalt(); + // newObject.Password = Hasher.GenerateSalt(); + // newObject.Login = Hasher.GenerateSalt(); + // newObject.UserOptions = new UserOptions(); + // newObject.UserOptions.TranslationId = ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID; + // await ct.User.AddAsync(newObject); + // await ct.SaveChangesAsync(); + // await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct); + // await SearchIndexAsync(newObject, true); + // await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null); + // await HandlePotentialNotificationEvent(AyaEvent.Created, newObject); + // return newObject; + // } //////////////////////////////////////////////////////////////////////////////////////////////// /// GET