Commit b58d8d119d5e03e6c7b9b01af6d02750cbbcc32d
1 parent
5e8db4bd
Exists in
master
and in
30 other branches
Accept post without subelement in restangular service
Showing
3 changed files
with
10 additions
and
6 deletions
Show diff stats
src/app/article/comment/post-comment.component.ts
... | ... | @@ -20,8 +20,8 @@ export class PostCommentComponent { |
20 | 20 | if (this.replyOf) { |
21 | 21 | this.comment.reply_of_id = this.replyOf.id; |
22 | 22 | } |
23 | - this.commentService.createInArticle(this.article, this.comment).then(() => { | |
24 | - this.$rootScope.$emit("comment.received", this.comment); | |
23 | + this.commentService.createInArticle(this.article, this.comment).then((result: noosfero.RestResult<noosfero.Comment>) => { | |
24 | + this.$rootScope.$emit("comment.received", result.data); | |
25 | 25 | this.notificationService.success({ title: "Good job!", message: "Comment saved!" }); |
26 | 26 | }); |
27 | 27 | } | ... | ... |
src/lib/ng-noosfero-api/http/comment.service.ts
... | ... | @@ -28,6 +28,6 @@ export class CommentService extends RestangularService<noosfero.Comment> { |
28 | 28 | |
29 | 29 | createInArticle(article: noosfero.Article, comment: noosfero.Comment): ng.IPromise<noosfero.RestResult<noosfero.Comment>> { |
30 | 30 | let articleElement = this.articleService.getElement(<number>article.id); |
31 | - return articleElement.customPOST(comment, this.getResourcePath(), {}, { 'Content-Type': 'application/json' }); | |
31 | + return this.create(comment, articleElement, null, { 'Content-Type': 'application/json' }, false); | |
32 | 32 | } |
33 | 33 | } | ... | ... |
src/lib/ng-noosfero-api/http/restangular_service.ts
... | ... | @@ -221,13 +221,17 @@ export abstract class RestangularService<T extends noosfero.RestModel> { |
221 | 221 | * Creates a new Resource into the resource collection |
222 | 222 | * calls POST /resourcePath |
223 | 223 | */ |
224 | - public create(obj: T, rootElement?: noosfero.RestModel, queryParams?: any, headers?: any): ng.IPromise<noosfero.RestResult<T>> { | |
224 | + public create(obj: T, rootElement?: noosfero.RestModel, queryParams?: any, headers?: any, isSub: boolean = true): ng.IPromise<noosfero.RestResult<T>> { | |
225 | 225 | let deferred = this.$q.defer<noosfero.RestResult<T>>(); |
226 | 226 | |
227 | 227 | let restRequest: ng.IPromise<noosfero.RestResult<T>>; |
228 | 228 | |
229 | - let data = <any>{ }; | |
230 | - data[this.getDataKeys().singular] = obj; | |
229 | + let data = <any>{}; | |
230 | + if (isSub) { | |
231 | + data[this.getDataKeys().singular] = obj; | |
232 | + } else { | |
233 | + data = obj; | |
234 | + } | |
231 | 235 | |
232 | 236 | if (rootElement) { |
233 | 237 | restRequest = rootElement.all(this.getResourcePath()).post(data, queryParams, headers); | ... | ... |