Beispiel #1
0
def add_link(prj_id, form):
    # prj_idでAWSのDBを検索
    data = prj.get(prj_id)

    event = {
        'event':
        form['event'],
        'detail':
        "関連リンクに <a href='{}' target='_blank'>{}</a> が追加されました".format(
            form['link_url'], form['link_title']),
        'disclosure_range':
        form['disclosure_range']
    }
    _add_timeline(data, event)

    if 'links' not in data:
        data['links'] = []

    data['links'].append({
        'link_title': form['link_title'],
        'link_url': form['link_url'],
        'disclosure_range': form['disclosure_range']
    })

    data = upd_prj(data)
    return prj_id
Beispiel #2
0
def join_prj(prj_id, user_id, user_name):
    # prj_idでAWSのDBを検索
    data = prj.get(prj_id)
    if 'errorMessage' in data or 'errorType' in data:
        return None

    is_joined = len(
        list(filter(lambda m: m['user_id'] == user_id, data['members']))) > 0

    if is_joined:
        # すでに参加済みのメンバーだった場合は、正常扱いで処理終了
        return prj_id

    data['members'].append({
        'member_type': 'member',
        'user_id': user_id,
        'user_name': user_name
    })

    event = {
        'event': '新規メンバー参画',
        'detail': '{} さんがプロジェクトに参加しました。'.format(user_name),
        'disclosure_range': 'public'
    }

    _add_timeline(data, event)
    data = upd_prj(data)
    return prj_id
Beispiel #3
0
def add_timeline(prj_id, form):
    # prj_idでAWSのDBを検索
    data = prj.get(prj_id)

    event = {
        'event': 'ユーザ入力イベント',
        'detail': form['detail'],
        'disclosure_range': 'public'
    }
    _add_timeline(data, event)
    data = upd_prj(data)
    return prj_id
Beispiel #4
0
def get_prj(prj_id, user_id):
    """
  指定されたプロジェクトIDのプロジェクトを取得する
  """
    data = prj.get(prj_id)
    if 'errorMessage' in data or 'errorType' in data:
        return None

    data['is_login'] = len(user_id) > 0
    data['is_joined'] = len(
        list(filter(lambda m: m['user_id'] == user_id, data['members']))) > 0
    data['is_leader'] = list(
        filter(lambda m: m['member_type'] == 'leader',
               data['members']))[0]['user_id'] == user_id

    return data
Beispiel #5
0
def complete_prj(prj_id, form):
    # prj_idでAWSのDBを検索
    data = prj.get(prj_id)

    event = {
        'event': form['event'],
        'detail': "プロジェクトが完了しました",
        'disclosure_range': 'public'
    }
    _add_timeline(data, event)

    data['outcome'] = form['outcome']
    data['is_complete'] = True
    now = datetime.now()
    data['complete_date'] = now.isoformat()
    data['end_date'] = "{}/{}/{}".format(now.year, now.month, now.day)

    data = upd_prj(data)
    return prj_id
Beispiel #6
0
def scan_prj():
    """
  プロジェクトを全件取得する
  """
    return prj.get('')
Beispiel #7
0
def update_prj(prj_id, new_data):
    data = prj.get(prj_id)
    data.update(new_data)
    prj.post(data)
    return data['prj_id']