Commit b58d8d119d5e03e6c7b9b01af6d02750cbbcc32d

Authored by Victor Costa
1 parent 5e8db4bd

Accept post without subelement in restangular service

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&lt;noosfero.Comment&gt; {
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&lt;T extends noosfero.RestModel&gt; {
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);
... ...