diff --git a/api/database/migrations/2015_07_21_144551_create_articles_table.php b/api/database/migrations/2015_07_21_144551_create_articles_table.php index d8fdfb55..99fa0fd3 100644 --- a/api/database/migrations/2015_07_21_144551_create_articles_table.php +++ b/api/database/migrations/2015_07_21_144551_create_articles_table.php @@ -16,7 +16,7 @@ public function up() Schema::create(Article::getTableName(), function (Blueprint $table) { $table->uuid('article_id')->primary(); $table->string('title', 255); - $table->enum('status', Article::$statuses); + $table->enum('status', Article::$statuses)->default(Article::STATUS_DRAFT); $table->text('content'); $table->text('excerpt')->nullable(); $table->string('primary_image')->nullable(); diff --git a/app/src/common/models/article/articleModel.ts b/app/src/common/models/article/articleModel.ts index db7e4d91..f2bea7d4 100644 --- a/app/src/common/models/article/articleModel.ts +++ b/app/src/common/models/article/articleModel.ts @@ -3,12 +3,12 @@ namespace common.models { @common.decorators.changeAware export class Article extends AbstractModel{ - public articleId:string; - public title:string; - public permalink:string; - public content:string; - public primaryImage:string; - public status:string; + public articleId:string = undefined; + public title:string = undefined; + public permalink:string = undefined; + public content:string = undefined; + public primaryImage:string = undefined; + public status:string = undefined; constructor(data:any) { diff --git a/app/src/common/models/user/userModel.ts b/app/src/common/models/user/userModel.ts index 2517fe6f..6bd3210a 100644 --- a/app/src/common/models/user/userModel.ts +++ b/app/src/common/models/user/userModel.ts @@ -7,17 +7,17 @@ namespace common.models { public static guestType = 'guest'; public static userTypes:string[] = [User.adminType, User.guestType]; - public userId:string; - public email:string; - public firstName:string; - public lastName:string; - public emailConfirmed:string; - public country:string; - public avatarImgUrl:string; - public timezoneIdentifier:string; - public _userCredential:global.IUserCredential; - public _userProfile:common.models.UserProfile; - public userType:string; + public userId:string = undefined; + public email:string = undefined; + public firstName:string = undefined; + public lastName:string = undefined; + public emailConfirmed:string = undefined; + public country:string = undefined; + public avatarImgUrl:string = undefined; + public timezoneIdentifier:string = undefined; + public _userCredential:global.IUserCredential = undefined; + public _userProfile:common.models.UserProfile = undefined; + public userType:string = undefined; constructor(data:global.IUserData) { super(data); diff --git a/app/src/common/models/user/userProfileModel.ts b/app/src/common/models/user/userProfileModel.ts index 9f28cb69..3050572c 100644 --- a/app/src/common/models/user/userProfileModel.ts +++ b/app/src/common/models/user/userProfileModel.ts @@ -6,16 +6,16 @@ module common.models { export class UserProfile implements IModel { - public dob:string; - public mobile:string; - public phone:string; - public gender:string; - public about:string; - public facebook:string; - public twitter:string; - public pinterest:string; - public instagram:string; - public website:string; + public dob:string = undefined; + public mobile:string = undefined; + public phone:string = undefined; + public gender:string = undefined; + public about:string = undefined; + public facebook:string = undefined; + public twitter:string = undefined; + public pinterest:string = undefined; + public instagram:string = undefined; + public website:string = undefined; public static genderOptions:IGenderOption[] = [ {label: 'Male', value: 'M'}, diff --git a/app/src/common/services/article/articleService.ts b/app/src/common/services/article/articleService.ts index ae3bfc65..4c9ae126 100644 --- a/app/src/common/services/article/articleService.ts +++ b/app/src/common/services/article/articleService.ts @@ -64,14 +64,17 @@ namespace common.services.article { * Save the article * @param article * @param newArticle - * @returns {any} + * @returns ng.IPromise */ - public saveArticle(article:common.models.Article, newArticle:boolean = false){ + public saveArticle(article:common.models.Article, newArticle:boolean = false):ng.IPromise{ let method = newArticle? 'put' : 'patch'; return this.ngRestAdapter[method]('/articles/'+article.articleId, (article).getChanged()) - .then((res) => article); + .then((res) => { + (article).resetChangedProperties(); //reset so next save only saves the changed ones + return article; + }); }