Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions WordPress/Classes/Services/BlogService.m
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#import "WPError.h"
#import "Comment.h"
#import "Post.h"
#import "PostCategory.h"
#import "Page.h"
#import "Media.h"
#import "PostCategoryService.h"
Expand Down Expand Up @@ -802,8 +803,8 @@ - (void)updateSettings:(BlogSettings *)settings withRemoteSettings:(RemoteBlogSe
settings.privacy = remoteSettings.privacy ?: settings.privacy;

// Writing
settings.defaultCategoryID = remoteSettings.defaultCategoryID ?: settings.defaultCategoryID;
settings.defaultPostFormat = remoteSettings.defaultPostFormat ?: settings.defaultPostFormat;
settings.defaultCategoryID = remoteSettings.defaultCategoryID ?: @(PostCategoryUncategorized);
settings.defaultPostFormat = remoteSettings.defaultPostFormat;

// Discussion
settings.commentsAllowed = [remoteSettings.commentsAllowed boolValue];
Expand Down
46 changes: 26 additions & 20 deletions WordPress/Classes/ViewRelated/Blog/SiteSettingsViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,17 @@
};

NS_ENUM(NSInteger, SiteSettingsWriting) {
SiteSettingsWritingGeotagging = 0,
SiteSettingsWritingDefaultCategory,
SiteSettingsWritingDefaultCategory= 0,
SiteSettingsWritingDefaultPostFormat,
SiteSettingsWritingRelatedPosts,
SiteSettingsWritingCount,
};

NS_ENUM(NSInteger, SiteSettingsDevice) {
SiteSettingsDeviceGeotagging = 0,
SiteSettingsDeviceCount
};

NS_ENUM(NSInteger, SiteSettingsAdvanced) {
SiteSettingsAdvancedStartOver = 0,
SiteSettingsAdvancedDeleteSite,
Expand All @@ -61,6 +65,7 @@
SiteSettingsSectionAccount,
SiteSettingsSectionWriting,
SiteSettingsSectionDiscussion,
SiteSettingsSectionDevice,
SiteSettingsSectionRemoveSite,
SiteSettingsSectionAdvanced,
};
Expand All @@ -78,12 +83,13 @@ @interface SiteSettingsViewController () <UITableViewDelegate, UITextFieldDelega
@property (nonatomic, strong) SettingTableViewCell *usernameTextCell;
@property (nonatomic, strong) SettingTableViewCell *passwordTextCell;
#pragma mark - Writing Section
@property (nonatomic, strong) SwitchTableViewCell *geotaggingCell;
@property (nonatomic, strong) SettingTableViewCell *defaultCategoryCell;
@property (nonatomic, strong) SettingTableViewCell *defaultPostFormatCell;
@property (nonatomic, strong) SettingTableViewCell *relatedPostsCell;
#pragma mark - Discussion
#pragma mark - Discussion Section
@property (nonatomic, strong) SettingTableViewCell *discussionSettingsCell;
#pragma mark - Device Section
@property (nonatomic, strong) SwitchTableViewCell *geotaggingCell;
#pragma mark - Removal Section
@property (nonatomic, strong) UITableViewCell *removeSiteCell;
#pragma mark - Advanced Section
Expand Down Expand Up @@ -128,12 +134,17 @@ - (void)viewDidLoad
[sections addObject:@(SiteSettingsSectionAccount)];
}

[sections addObject:@(SiteSettingsSectionWriting)];
if ([self.blog supports:BlogFeatureWPComRESTAPI] && self.blog.isAdmin) {
// only REST API connections and admins can change Writing options
[sections addObject:@(SiteSettingsSectionWriting)];
}

if ([self.blog supports:BlogFeatureWPComRESTAPI]) {
[sections addObject:@(SiteSettingsSectionDiscussion)];
}

[sections addObject:@(SiteSettingsSectionDevice)];

if ([self.blog supports:BlogFeatureRemovable]) {
[sections addObject:@(SiteSettingsSectionRemoveSite)];
}
Expand Down Expand Up @@ -195,21 +206,14 @@ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger
return SiteSettingsAccountCount;
}
case SiteSettingsSectionWriting: {
if (!self.blog.isAdmin) {
// If we're not admin, we just want to show the geotagging cell
return 1;
}
NSInteger rowsToHide = 0;
if (![self.blog supports:BlogFeatureWPComRESTAPI]) {
// NOTE: Sergio Estevao (2015-09-23): Hides the related post for self-hosted sites not in jetpack
// because this options is not available for them.
rowsToHide += 1;
}
return SiteSettingsWritingCount - rowsToHide;
return SiteSettingsWritingCount;
}
case SiteSettingsSectionDiscussion: {
return 1;
}
case SiteSettingsSectionDevice: {
return SiteSettingsDeviceCount;
}
case SiteSettingsSectionRemoveSite: {
return 1;
}
Expand Down Expand Up @@ -342,10 +346,6 @@ - (UITableViewCell *)removeSiteCell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForWritingSettingsAtRow:(NSInteger)row
{
switch (row) {
case (SiteSettingsWritingGeotagging):{
return self.geotaggingCell;
}
break;
case (SiteSettingsWritingDefaultCategory):{
PostCategoryService *postCategoryService = [[PostCategoryService alloc] initWithManagedObjectContext:[[ContextManager sharedInstance] mainContext]];
PostCategory *postCategory = [postCategoryService findWithBlogObjectID:self.blog.objectID andCategoryID:self.blog.settings.defaultCategoryID];
Expand Down Expand Up @@ -494,6 +494,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N
case SiteSettingsSectionDiscussion: {
return self.discussionSettingsCell;
}
case SiteSettingsSectionDevice: {
return self.geotaggingCell;
}
case SiteSettingsSectionRemoveSite: {
return self.removeSiteCell;
}
Expand Down Expand Up @@ -543,6 +546,9 @@ - (NSString *)titleForHeaderInSection:(NSInteger)section
case SiteSettingsSectionAccount:
headingTitle = NSLocalizedString(@"Account", @"Title for the account section in site settings screen");
break;
case SiteSettingsSectionDevice:
headingTitle = NSLocalizedString(@"This Device", @"Title for the device section in site settings screen");
break;
case SiteSettingsSectionWriting:
headingTitle = NSLocalizedString(@"Writing", @"Title for the writing section in site settings screen");
break;
Expand Down