[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/andyfun/Coding-iOS/master/Coding_iOS/Models/ProjectActivity.m [Back]  [Original]

//
//  ProjectActivity.m
//  Coding_iOS
//
//  Created by Ease on 15/5/13.
//  Copyright (c) 2015 Coding. All rights reserved.
//

#import "ProjectActivity.h"
#import "NSMutableString+Common.h"

@implementation ProjectActivity
@synthesize actionStr = _actionStr, contentStr = _contentStr;
- (instancetype)init
{
    self = [super init];
    if (self) {
        _propertyArrayMap = @{@"commits": @"Commit",
                              @"labels": @"ProjectTag",
                              };
        _actionMediaItems = [[NSMutableArray alloc] init];
        _contentMediaItems = [[NSMutableArray alloc] init];
    }
    return self;
}

- (void)setComment_content:(NSString *)comment_content{
    if (comment_content) {
        _comment_content = [comment_content stringByRemoveHtmlTag];
    }else{
        _comment_content = @"";
    }
}

- (NSString *)ref_type{
    if ([_ref_type isEqualToString:@"tag"]) {
        return @"";
    }else if ([_ref_type isEqualToString:@"branch"]){
        return @"";
    }else{
        return _ref_type;
    }
}

- (void)addActionUser:(User *)curUser{
    if (curUser) {
        [_actionStr appendString:@" "];
        [HtmlMedia addMediaItemUser:curUser toString:_actionStr andMediaItems:_actionMediaItems];
        [_actionStr appendString:@" "];
    }
}

//- (void)addActionLinkStr:(NSString *)linkStr{
//    [HtmlMedia addLinkStr:linkStr type:HtmlMediaItemType_CustomLink toString:_actionStr andMediaItems:_actionMediaItems];
//}

//- (void)addContentLinkStr:(NSString *)linkStr{
//    if (linkStr.length > 0) {
//        [_contentStr appendString:@" "];
//        [HtmlMedia addLinkStr:linkStr type:HtmlMediaItemType_CustomLink toString:_contentStr andMediaItems:_contentMediaItems];
//        [_contentStr appendString:@" "];
//    }
//}

- (NSMutableString *)actionStr{
    if (!_actionStr) {
        _actionStr = [[NSMutableString alloc] init];
        if ([_target_type isEqualToString:@"ProjectMember"]) {
            if ([_action isEqualToString:@"quit"]) {
                [self addActionUser:_target_user];
                [_actionStr appendFormat:@"%@", _action_msg];
            }else{
                [self addActionUser:_user];
                [_actionStr appendFormat:@"%@", _action_msg];
            }
        }else if ([_target_type isEqualToString:@"Task"]){
            [self addActionUser:_user];
            if ([_action isEqualToString:@"update_priority"]) {
                [_actionStr appendFormat:@"%@", _task.title];
            }else if ([_action isEqualToString:@"update_deadline"]) {
                if (_task.deadline && _task.deadline.length > 0) {
                    [_actionStr appendFormat:@"%@", _task.title];
                }else{
                    [_actionStr appendFormat:@"%@", _task.title];
                }
            }else if ([_action isEqualToString:@"update_description"]) {
                [_actionStr appendFormat:@"%@", _task.title];
            }else{
                [_actionStr saveAppendString:_action_msg];
                if (_origin_task.owner) {
                    [self addActionUser:_origin_task.owner];
                    [_actionStr appendString:@""];
                }
                [_actionStr appendString:@""];
                
                if ([_action isEqualToString:@"reassign"]) {
                    [_actionStr appendString:@""];
                    [self addActionUser:_task.owner];
                }
            }
        }else if ([_target_type isEqualToString:@"TaskComment"]){
            [self addActionUser:_user];
            [_actionStr appendFormat:@"%@%@", _action_msg, _task.title];
        }else if ([_target_type isEqualToString:@"Project"] && [_action isEqualToString:@"transfer"]){
            [self addActionUser:_user];
            [_actionStr appendFormat:@"%@%@", _project.full_name, _action_msg];
            [self addActionUser:_target_user];
        }else{
            [self addActionUser:_user];
            [_actionStr saveAppendString:_action_msg];
            if ([_target_type isEqualToString:@"ProjectTopic"]){
                [_actionStr appendString:@""];
                if ([_action isEqualToString:@"comment"]) {
                    [_actionStr appendFormat:@"%@", _project_topic.parent.title];
                }
            }else if ([_target_type isEqualToString:@"ProjectFile"]){
                [_actionStr appendString:[_type isEqualToString:@"dir"]? @"": @""];
            }else if ([_target_type isEqualToString:@"ProjectFileComment"]){
                [_actionStr appendFormat:@"%@", _projectFile.title];
            }else if ([_target_type isEqualToString:@"Depot"]){
                if ([_action isEqualToString:@"push"]) {
                    [_actionStr appendFormat:@" %@ %@", self.ref_type, _ref];
                }else if ([_action isEqualToString:@"fork"]){
                    [_actionStr appendFormat:@"%@ %@", _source_depot.name, _depot.name];
                }
            }else{
                [_actionStr appendString:@""];
                if ([_target_type isEqualToString:@"Project"]){
                }else if ([_target_type isEqualToString:@"QcTask"]){
                    [_actionStr appendFormat:@"%@", _project.full_name];
                }else if ([_target_type isEqualToString:@"ProjectStar"]){
                    [_actionStr appendFormat:@"%@", _project.full_name];
                }else if ([_target_type isEqualToString:@"ProjectWatcher"]){
                    [_actionStr appendFormat:@"%@", _project.full_name];
                }else if ([_target_type isEqualToString:@"PullRequestBean"]){
                    [_actionStr appendFormat:@"%@ Pull Request", _depot.name];
                }else if ([_target_type isEqualToString:@"PullRequestComment"]){
                    [_actionStr appendFormat:@"%@ Pull Request %@", _depot.name, _pull_request_title];
                }else if ([_target_type isEqualToString:@"MergeRequestBean"]){
                    [_actionStr appendFormat:@"%@ Merge Request", _depot.name];
                }else if ([_target_type isEqualToString:@"MergeRequestComment"]){
                    [_actionStr appendFormat:@"%@ Merge Request %@", _depot.name, _merge_request_title];
                }else if ([_target_type isEqualToString:@"CommitLineNote"]){
                    [_actionStr appendFormat:@"%@ %@%@", _project.full_name, _line_note.noteable_type, _line_note.noteable_title];
                }
            }
        }
    }
    return _actionStr;
}

- (NSMutableString *)contentStr{
    if (!_contentStr) {
        _contentStr = [[NSMutableString alloc] init];
        
        if ([_target_type isEqualToString:@"Task"]) {
            if ([_action isEqualToString:@"update_priority"]) {
                if (_task.priority && _task.priority.intValue < kTaskPrioritiesDisplay.count) {
                    [_contentStr appendFormat:@"%@", kTaskPrioritiesDisplay[_task.priority.intValue]];
                }
            }else if ([_action isEqualToString:@"update_deadline"] && _task.deadline && _task.deadline.length > 0) {
                [_contentStr appendFormat:@"%@", [NSDate convertStr_yyyy_MM_ddToDisplay:_task.deadline]];
            }else if ([_action isEqualToString:@"update_description"]) {
                [_contentStr saveAppendString:_task.description_mine];
            }else{
                [_contentStr saveAppendString:_task.title];
            }
        }else if ([_target_type isEqualToString:@"TaskComment"]){
            if (_taskComment.content) {
                [_contentStr saveAppendString:_taskComment.content];
            }
        }else if ([_target_type isEqualToString:@"ProjectTopic"]){
            if ([_action isEqualToString:@"comment"]) {
                [_contentStr saveAppendString:_project_topic.content];
            }else{
                [_contentStr saveAppendString:_project_topic.title];
            }
        }else if ([_target_type isEqualToString:@"ProjectFile"]){
            [_contentStr saveAppendString:_file.name];
        }else if ([_target_type isEqualToString:@"ProjectFileComment"]){
            [_contentStr saveAppendString:_projectFileComment.content];
        }else if ([_target_type isEqualToString:@"Depot"]){
            if (_commits && [_commits count] > 0) {
                Commit *curCommit = _commits.firstObject;
                [_contentStr saveAppendString:curCommit.contentStr];
                for (int i = 1; i

Web Proxy Viewer  |  New URL  |  Original Page