def main():

    args = parse_args(sys.argv[1:])
    config = load_config(args.config_file_path)

    client = config.client.create_client()

    with psycopg2.connect(config.database.connection_string) as conn_activity, \
            psycopg2.connect(config.database.connection_string) as conn_db:
        activity = Activity(conn=conn_activity,
                            activity_type='check_completed',
                            run_at=datetime.now(tz=local_tz))
        db = DB(conn=conn_db,
                completion_registry_thread_id=config.completion_registry_thread_id)

        stats = Stats()

        message = None
        is_successful = True
        try:
            scan_finished_threads(db, client, stats)
        except:
            exc_text = traceback.format_exc()
            logging.critical(exc_text)
            message = exc_text
            is_successful = False
        finally:
            activity.report_end(is_successful, message, stats)

    if is_successful:
        logging.info("成功结束")
    else:
        exit(1)
Ejemplo n.º 2
0
def main():

    args = parse_args(sys.argv[1:])
    config = load_config(args.config_file_path)

    with psycopg2.connect(config.database.connection_string) as conn_activity, \
            psycopg2.connect(config.database.connection_string) as conn_db:
        activity = Activity(conn=conn_activity,
                            activity_type='collect',
                            run_at=datetime.now(tz=local_tz))
        db = DB(conn=conn_db,
                completion_registry_thread_id=config.completion_registry_thread_id)

        stats = Stats()

        fetching_since = activity.should_collect_since

        is_successful = False
        message = None
        try:
            fetch_board(db=db, activity=activity, client=config.client.create_client(),
                        board_id=config.board_id, fetching_since=fetching_since, stats=stats)
            is_successful = True
        except:
            exc_text = traceback.format_exc()
            logging.critical(exc_text)
            message = exc_text
        finally:
            activity.report_end(is_successful, message, stats)

    if is_successful:
        logging.info("成功结束")
    else:
        exit(1)
Ejemplo n.º 3
0
 def get(self, aid, *args, **kwargs):
     a = Activity.get_act_by_id(aid)
     if a:
         Activity.inc_read_nums_by_id(aid)
         self.render('activity.html', **a)
     else:
         self.write(self.make_result(0, "url invalid", None))
Ejemplo n.º 4
0
    def create(self):
        form = ActivityForm(self.request.POST)

        if self.request.method == 'POST' and form.validate():

            if Activity.get_by_activity_id(form.data['activity_id']):
                self.session.add_flash(messages.ACTIVITY_EXISTS, level='error')
                return self.render_to_response('activity/form.haml',
                                               {'form': form})

            activity = Activity(activity_id=form.data['activity_id'],
                                course_code=form.data['course_code'],
                                activity_type=form.data['activity_type'],
                                day=form.data['day'],
                                time=form.data['time'],
                                room=form.data['room'],
                                parent=self.get_current_account())
            activity.put()

            self.session.add_flash(messages.ACTIVITY_CREATE_SUCCESS,
                                   level='info')
            return self.redirect_to('activity.list')

        self.session.add_flash(messages.ACTIVITY_CREATE_ERROR, level='error')
        return self.redirect_to('activity.list')
Ejemplo n.º 5
0
 def post(self, *args, **kwargs):
     t = self.get_argument("type", None)
     skip = self.get_argument("skip", None)
     if skip:
         result = Activity.get_more_acts_by_type(t, int(skip))
     else:
         result = Activity.get_some_acts_by_type(t)
     self.write(self.make_result(1, "get acts by club OK", result))
Ejemplo n.º 6
0
 def schedule_activity(self, act: Activity, currentTime: int):
     # Se reducen los recursos disponibles
     self.resources.reduce_resources(act.resources)
     act.reset_activity()
     act.active = True
     ## TODO Create a partial object that records the starttime
     act.start = currentTime
     return act.end
Ejemplo n.º 7
0
 def test_add_and_get(self):
     uid0 = User.add("test1", "password", "*****@*****.**")
     bid0 = Board.add("board1", "A")
     aid0 = Activity.add(bid0, uid0, "BLABLA")
     activity0 = Activity.get(aid0)
     assert bid0 == activity0.board_id
     assert uid0 == activity0.user_id
     assert "BLABLA" == activity0.content
Ejemplo n.º 8
0
def api_add_activity():
    try:
        boardid= request.form['board_id']
        content = request.form['content']
    except KeyError:
        return jsonify({'code': 400, 'message': 'Bad Request'})
    activity_id = Activity.add(boardid, current_user.id, content)
    return jsonify({'code': 200, 'activity_time': Activity.get(activity_id).created_at})
Ejemplo n.º 9
0
 def __schedule_activity(self, act: Activity, currentTime: int):
     # Se reducen los recursos disponibles
     self.resources.reduce_resources(act.resources)
     act.reset_activity()
     act.active = True
     act.start = currentTime
     # Se asigna su duración con un número aleatorio
     #act.duration=rand.get_random_duration(act.index)
     # Se cacula el momento en que finaliza
     act.end = currentTime + act.duration
Ejemplo n.º 10
0
def log_activity(user_name, activity_type, start_time, end_time):
    try:
        user = db_session.query(User).filter(User.user_name == user_name).first()
        print user.id
        activity = Activity(user.id, activity_type, start_time, end_time)
        db_session.add(activity)
        db_session.flush()
        return {"message": "Success", "activity": activity.get_dict()}
    except Exception as e:
        raise GenericError(e.message)
    except:
        raise GenericError("Unspecific error came up")
Ejemplo n.º 11
0
    def issues_with_user_in_participants(self):
        """
        Append issue updated today.
        Add all issuses, where current user is participant and
        which was changed today
        """
        activities = []
        issues = self.jira_client.search_issues(
            'Participants = currentUser() '
            'AND updated > startOfDay() ',
            expand='changelog'
        )
        today = datetime.today().date()
        for issue in issues:
            changelog = issue.changelog
            # Get history (equivalently tab History in jira interface)
            for history in changelog.histories:
                if (history.author.name != self.username or
                        parser.parse(history.created).date() < today):
                    continue

                for item in history.items:
                    if item.field == 'status':
                        activity = Activity(issue.key, date=history.created)
                        activity.name = item.toString
                        activities.append(activity)

            # Get comments are left by currentuser
            comments = self.jira_client.comments(issue)
            for comment in comments:
                if (comment.author.name == self.username and
                        parser.parse(comment.created).date() == today):
                    activity = Activity(
                        issue.key,
                        date=comment.created,
                        name=STATUS_COMMENTED
                    )
                    activities.append(activity)

            worklogs = self.jira_client.worklogs(issue)
            for worklog in worklogs:
                if (worklog.author.name == self.username and
                        parser.parse(worklog.created).date() == today):
                    activity = Activity(
                        issue.key,
                        date=worklog.created,
                        name=STATUS_WORKLOG,
                        worklog=worklog.timeSpentSeconds
                    )
                    activities.append(activity)

        return activities
Ejemplo n.º 12
0
def create():
    user_id = get_jwt_identity()
    current_user = User.get_or_none(User.id == user_id)
    if current_user:
        params = request.json
        new_activity = Activity(task=params.get('activity'),
                                completion_date=params.get('date'),
                                user=current_user.id)
        if new_activity.save():
            return jsonify({"message": "Activity added successfully"})
        else:
            return jsonify({"message": "Activity failed to add"})
    else:
        return jsonify({"message": "No such user"})
class Controller:
    def __init__(self):
        self.activity = Activity()

    def create(self, request):
        p = Jwt.authHeader(request)
        res = json.loads(p)
        if res['code'] == 20000:
            data = json.loads(request.get_data())
            data['creator'] = res['data']['username']
            result = self.activity.save(data)
            if result == None:
                return response({}, code=50000, message='该广告已存在!')
            return response({}, code=20000, message='创建成功!')
        else:
            return p

    def getList(self, request):
        p = Jwt.authHeader(request)
        res = json.loads(p)
        if res['code'] == 20000:
            result = self.activity.findAll()
            return response(result, code=20000, message='获取成功!')
        else:
            return p
            return p

    def edit(self, request):
        p = Jwt.authHeader(request)
        res = json.loads(p)
        if res['code'] == 20000:
            data = json.loads(request.get_data())
            result = self.activity.update_one(data['id'], data)
            if result == None:
                return response({}, code=50000, message='该广告已存在!')
            return response({}, code=20000, message='修改成功!')
        else:
            return p

    def delete(self, request):
        p = Jwt.authHeader(request)
        res = json.loads(p)
        if res['code'] == 20000:
            data = json.loads(request.get_data())
            result = self.activity.delete(data)
            print(type(result))
            return response({}, code=20000, message='删除成功!')
        else:
            return p
Ejemplo n.º 14
0
    def __eval_single_risk(self, activity: Activity):
        ## 0-1 -> 0.6
        prob_risk = random.random()
        ## riesgo 1 pasa
        activity.eval_risk1(prob_risk)
        ## riesgo 2 se quema
        activity.eval_risk2(prob_risk)

        ## beta: 10 - 12
        ## duracion original 11
        ## riesgo 1 pasó
        ## duracion = duracion + (0.5*11*0.5+ 0*11*0.7)
        new_duration = activity.duration + (
            activity.risk1 * activity.duration_base +
            activity.risk2 * activity.duration_base)
        activity.duration = new_duration
Ejemplo n.º 15
0
    def set_best_makespan(self):
        ## List sorted to get the best end
        makespan_sorted = sorted(self.makespan, key=self.get_end, reverse=True)
        current_best: Activity = Activity.empty_activity()
        current_best.end = 1000000
        index_current_best = 0

        if not len(self.best_makespan) == 0:
            current_best: Activity = self.best_makespan[len(self.best_makespan)
                                                        - 1]

        new_best: Activity = makespan_sorted[0]

        is_better = new_best.end < current_best.end

        if is_better:
            index: int = self.makespan.index(new_best)
            self.best_makespan = copy.deepcopy(self.chromosomes[index].genes)
            self.fitness_reference = copy.deepcopy(new_best)

        for chromosome in self.chromosomes:
            act = max(chromosome.genes, key=self.get_end)
            new_fitness = float(new_best.end) / float(act.end)
            chromosome.fitness = new_fitness
            #print(f'new fitness {new_fitness}')

        print('\n\nCurrent best: ')
        current_best.print_activity()

        print('New best: ')
        self.best_makespan[len(self.best_makespan) - 1].print_activity()
        print('\n')
Ejemplo n.º 16
0
 def post(self, *args, **kwargs):
     url = self.get_argument("url", None)
     a = Activity.get_act_by_url(url)
     if a:
         self.write(self.make_result(1, "get act by url OK", a))
     else:
         self.write(self.make_result(0, "url invalid", None))
Ejemplo n.º 17
0
    def test_get_comments_by_card_id(self):
        uid0 = User.add("test1", "password", "*****@*****.**")
        bid0 = Board.add("board1", "A")
        bid1 = Board.add("board2", "A")
        aid0 = Activity.add(bid0, uid0, "BLABLA")
        aid1 = Activity.add(bid0, uid0, "LA")
        aid2 = Activity.add(bid1, uid0, "HULA")

        activity0 = Activity.get(aid0)
        activity1 = Activity.get(aid1)
        activity2 = Activity.get(aid2)

        assert aid0 in [activity.id for activity in Activity.get_all(bid0)]
        assert aid1 in [activity.id for activity in Activity.get_all(bid0)]
        assert aid2 not in [activity.id for activity in Activity.get_all(bid0)]
        assert aid2 in [activity.id for activity in Activity.get_all(bid1)]
Ejemplo n.º 18
0
def update(id):
    user = User.get_by_id(current_user.id)
    if user:
        activity = Activity.get_or_none(Activity.id == id)
        if activity:
            if activity.id == int(id):
                params = request.form

                activity.is_completed = True if params.get(
                    "completed") == "on" else False

                activity.task = params.get("activity")
                activity.completion_date = params.get("date")

                if activity.save():
                    flash("Successfully updated Activity!")
                    return redirect(
                        url_for("users.show", username=current_user.username))
                else:
                    flash("Unable to edit!")
                    return redirect(url_for("schemes.edit", id=activity.id))
            else:
                flash("Cannot edit more than one activity!")
                return redirect(
                    url_for("users.show", username=current_user.username))
        else:
            flash("No such activity!")
            return redirect(
                url_for("users.show", username=current_user.username))
    else:
        flash("No such user!")
        redirect(url_for("home"))
Ejemplo n.º 19
0
 def get_instance_detail(self, item, instanceid):
     item.takeChildren()
     current_running_activities = list()
     execution_results = self.parent.main_window.kos.root.\
         get_executions(
             self.parent.main_window.session_id,
             self.parent.main_window.token,
             self.parent.env,
             self.parent.tenant_id,
             instanceid
         )
     if isinstance(execution_results, int):
         if execution_results == -1:
             # token失效
             self.tree_analysis_results.collapseItem(item)
             self.parent.main_window.set_enabled_cascade(False)
             self.parent.main_window.login_window.show()
         return
     elif execution_results:
         for e in execution_results:
             current_running_activities.append(e['ActivityID'])
     activity_results = self.parent.main_window.kos.root.\
         get_activities(
             self.parent.main_window.session_id,
             self.parent.main_window.token,
             self.parent.env,
             instanceid,
             self.parent.tenant_id
         )
     if isinstance(activity_results, int):
         if activity_results == -1:
             # token失效
             self.tree_analysis_results.collapseItem(item)
             self.parent.main_window.set_enabled_cascade(False)
             self.parent.main_window.login_window.show()
         return
     elif activity_results:
         dict_activities = {0: item}
         for a in activity_results:
             item_prev_activity = dict_activities[a['PrevActivityID']]
             item_activity = QtWidgets.QTreeWidgetItem(item_prev_activity)
             item_activity.setText(0, a['Name'])
             if a['ActivityID'] in current_running_activities:
                 item_activity.setIcon(0, QtGui.QIcon('images/running.svg'))
             activity_data = Activity(a['ActivityID'], a['ActivityDefID'],
                                      a['ExecutionID'], a['ProcDefID'],
                                      a['CallProcInstID'], a['TaskID'])
             item_activity.setData(0, QtCore.Qt.UserRole, activity_data)
             item_activity.setText(1, a['ActivityType'])
             item_activity.setText(2, str(a['Created']))
             item_activity.setText(3, str(a['Modified']))
             item_activity.setData(4, QtCore.Qt.BackgroundRole,
                                   self.status_brush[a['Status']]['brush'])
             dict_activities[a['ActivityID']] = item_activity
         self.expand_children(item)
     else:
         # 找不到变量
         item_activity = QtWidgets.QTreeWidgetItem(item)
         item_activity.setText(0, '(无)')
         self.expand_children(item)
Ejemplo n.º 20
0
def delete():
    current_user = get_jwt_identity()

    user = User.get_or_none(User.username == current_user)

    resp = request.get_json()

    activity = Activity.get_or_none(Activity.activity == resp['activity'])

    user_activity = User_Activity.get_or_none(
        (User_Activity.user_id == user.id)
        & (User_Activity.activity_id == activity.id))
    if user_activity:
        if user_activity.delete_instance():
            message = {
                'status': True,
                'message': "Successfully deleted from database"
            }
        else:
            message = {
                'status': False,
                'message': "Couldn't remove from database"
            }
    else:
        message = {
            'status': False,
            'message': "The activity submitted is not register with user"
        }

    return jsonify(message)
Ejemplo n.º 21
0
    def assign_assistant(self, id):
        activity = Activity.get_by_id(int(id),
                                      parent=self.get_current_account())

        if not activity:
            return self.redirect_to('activity.list',
                                    messages.ACTIVITY_NOT_FOUND)

        form = AssignAssistantForm(self.request.POST)

        if self.request.method == 'POST' and form.validate():

            assistant = Assistant.get_by_assistant_id(
                form.data['assistant_id'])

            if not assistant:
                return self.redirect_to('activity.list',
                                        messages.ASSIGN_ASSISTANT_NOT_FOUND)

            activity.assistant = assistant
            activity.put()

            self.session.add_flash(messages.ASSIGN_ASSISTANT_ASSIGN_SUCCESS)
            return self.redirect_to('activity.list')

        self.session.add_flash(messages.ASSIGN_ASSISTANT_ASSIGN_ERROR,
                               level='error')
        return self.redirect_to('activity.list')
Ejemplo n.º 22
0
def backgroundjob():
    all_user = User.select()
    for user in all_user:
        print(user.username)
        if user:
            current_day = date.today()
            previous_day = Activity.select().where(
                (Activity.completion_date < current_day)).order_by(
                    Activity.completion_date.desc()).limit(1)
            for p in previous_day:
                print(p.completion_date)
            yesterday = p.completion_date
            if yesterday:
                from models.dailyrecord import DailyRecord
                is_completed = Activity.select().where(
                    Activity.is_completed == 1,
                    Activity.completion_date == yesterday,
                    Activity.user == user.id).count()
                print(is_completed)
                task = Activity.select().where(
                    Activity.completion_date == yesterday,
                    Activity.user == user.id).count()
                if task == 0:
                    print(user.id)
                    print(task)
                    completion_rate = 0
                    title = yesterday
                    relationship = DailyRecord(title=title,
                                               completion_rate=completion_rate,
                                               user=user.id)
                else:
                    print(user.id)
                    print(task)
                    completion_rate = is_completed / task * 100
                    title = yesterday
                    relationship = DailyRecord(title=title,
                                               completion_rate=completion_rate,
                                               user=user.id)
                if relationship.save():
                    print('Successfully saved')
                else:
                    print('Something wrong in the code')
            else:
                print('Query Problem')
        else:
            print('No such user')
    print("done")
Ejemplo n.º 23
0
def select(id):
    sql = 'SELECT * FROM activities WHERE id = %s'
    values = [id]
    results = run_sql(sql, values)[0]
    trainer = trainer_repository.select(results['trainer_id'])
    activity = Activity(results['name'], results['date'], results['time'],
                        trainer, results['capacity'], results['id'])
    return activity
Ejemplo n.º 24
0
def update_activity(id):
    name = request.form['name']
    date = request.form['date']
    time = request.form['time']
    capacity = request.form['capacity']
    trainer = trainer_repository.select(request.form['trainer_id'])
    activity = Activity(name, date, time, trainer, capacity, id)
    activity_repository.update(activity)
    return redirect("/activities")
Ejemplo n.º 25
0
def create_activity():
    name = request.form["name"]
    photo = request.files["photo"].filename
    trainer = request.form["trainer"]

    activity = Activity(name, photo, trainer)
    activity_repository.save(activity)

    return redirect('/activities')
Ejemplo n.º 26
0
def show_upcoming_activities():
    upcoming = []
    sql = "SELECT * FROM activities WHERE finished = False"
    results = run_sql(sql)

    for row in results:
        activity = Activity(row['name'], row['venue'], row['category'], row['capacity'], row['finished'], row['offpeak'], row['id'])
        upcoming.append(activity)
    return upcoming
Ejemplo n.º 27
0
def select_all():
    activities = []
    sql = "SELECT * FROM activities"
    results = run_sql(sql)
    for row in results:
        activity = Activity(row['name'], row['photo'], row['trainer'],
                            row['id'])
        activities.append(activity)
    return activities
Ejemplo n.º 28
0
def select(id):
    activity = None
    sql = "SELECT * FROM activities WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]

    if result is not None:
        activity = Activity(result['name'], result['venue'], result['category'], result['capacity'], result['finished'], result['offpeak'], result['id'])
    return activity
Ejemplo n.º 29
0
def create_activity():
    name = request.form['name']
    date = request.form['date']
    time = request.form['time']
    trainer = trainer_repository.select(request.form['trainer'])
    capacity = request.form['capacity']
    activity = Activity(name, date, time, trainer, capacity)
    activity_repository.save(activity)
    return redirect("/activities")
Ejemplo n.º 30
0
def create():
    print("HELLO")
    user = User.get_by_id(current_user.id)
    if user:
        new_activity = Activity(task=request.form['activity'],
                                completion_date=request.form['date'],
                                user=current_user.id)
        if new_activity.save():
            flash("Activity has been succesfully added!")
            return redirect(
                url_for('users.show', username=current_user.username))
        else:
            flash("Not added!")
            return render_template('schemes/new.html',
                                   completion_date=request.form['date'],
                                   errors=new_activity.errors)
    else:
        flash("No such user")
        return redirect(url_for('home'))
Ejemplo n.º 31
0
def update_activity(id):
    name = request.form["name"]
    venue = request.form["venue"]
    category = request.form["category"]
    capacity = request.form["capacity"]
    finished = request.form["finished"]
    offpeak = request.form["offpeak"]
    activity = Activity(name, venue, category, capacity, finished, offpeak, id)
    activity_repository.update(activity)
    return redirect("/activities")
Ejemplo n.º 32
0
def select_all():
    activities = []
    sql = 'SELECT * FROM activities'
    results = run_sql(sql)
    for row in results:
        trainer = trainer_repository.select(row['trainer_id'])
        activity = Activity(row['name'], row['date'], row['time'], trainer,
                            row['capacity'], row['id'])
        activities.append(activity)
    return activities
Ejemplo n.º 33
0
def select_all():
    activities = []

    sql = "SELECT * FROM activities"
    results = run_sql(sql)

    for row in results:
        activity = Activity(row['name'], row['venue'], row['category'], row['capacity'], row['finished'], row['offpeak'], row['id'])
        activities.append(activity)
    return activities
Ejemplo n.º 34
0
def create_activity():
    activity_name = request.form["name"]
    try:
        upcoming = request.form["upcoming"]
    except:
        upcoming = False

    new_activity = Activity(activity_name, upcoming)
    activity_repository.save(new_activity)
    return redirect("/activities")
Ejemplo n.º 35
0
    def test_activity(self):
        date = datetime.datetime(2019, 12, 10, 12, 10)
        activity = Activity('1', ['1234', '5678'], date.date(), date.time(),
                            'test')

        self.assertEqual(activity.uid, '1')
        self.assertEqual(activity.persons_uids, ['1234', '5678'])
        self.assertEqual(activity.date, date.date())
        self.assertEqual(activity.time, date.time())
        self.assertEqual(activity.description, 'test')
Ejemplo n.º 36
0
def create_activity():
    name = request.form["name"]
    venue = request.form["venue"]
    category = request.form["category"]
    capacity = request.form["capacity"]
    finished = request.form["finished"]
    offpeak = request.form["offpeak"]
    new_activity = Activity(name, venue, category, capacity, finished, offpeak)
    activity_repository.save(new_activity)
    return redirect("/activities")
Ejemplo n.º 37
0
def add_activity(activity: ActivityModel,
                 merchant_id: int = Depends(get_login_merchant),
                 session: Session = Depends(create_session)):
    """
    新建营销活动\n
    :param activity: 活动信息\n
    :return:
    """
    ret_code = 0
    ret_msg = "success"
    try:
        cur_merchant = json.loads(redis_client.hget("merchants", merchant_id))
        if cur_merchant["merchant_type"] != 0:
            session.commit()
            return make_response(-1, "权限不足!")

        now = datetime.now()
        act = Activity(activity.act_name, activity.act_cover,
                       activity.begin_time, activity.end_time, now, now)
        session.add(act)

        # 活动存入redis并添加商品折扣表
        activity_key = f"activity_{act.id}"
        discount_key = f"discount_of_activity_{act.id}"
        expire_time = (activity.end_time - now).seconds
        pipe = redis_client.pipeline(transaction=True)
        pipe.set(activity_key,
                 json.dumps(act.to_dict(), cls=JsonEncoder),
                 ex=expire_time)
        # 创建一个空的商品折扣表, 插入一条空数据占位符
        pipe.hset(discount_key, "", "")
        pipe.expire(discount_key, expire_time)
        pipe.execute()
        logger.info("活动redis信息初始化成功!")

        session.commit()
        logger.info(f"新建营销活动成功,活动id: {act.id}")
    except Exception as e:
        session.rollback()
        logger.error(str(e))
        ret_code = -1
        ret_msg = str(e)
    return make_response(ret_code, ret_msg)
Ejemplo n.º 38
0
def select(id):
    activity = None
    sql = "SELECT * FROM activities WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]

    if result is not None:
        activity = Activity(result['name'], result['photo'], result['trainer'],
                            result['id'])
    return activity
Ejemplo n.º 39
0
  def delete(self, id):
    activity = Activity.get_by_id(int(id), parent=self.get_current_account())

    if not activity:
      self.session.add_flash(messages.ACTIVITY_NOT_FOUND, level='error')
      return self.redirect_to('activity.list')

    activity.delete()
    self.session.add_flash(messages.ACTIVITY_DELETE_SUCCESS)

    return self.redirect_to('activity.list')
Ejemplo n.º 40
0
def render_user(user_id = None):
    '''user page'''
    user = User.get(long(user_id))
    if not user:
        return jsonify({'code':404, 'message':'Page Not Found'})
    return render_template('profile.html', 
                            tag = 'profile',
                            user = current_user,
                            profile_owner = user,
                            avatar_image = None,
                            add_board_form = AddBoardForm(),
                            activities = Activity.get_all_by_user(current_user.id))
Ejemplo n.º 41
0
  def create(self):
    form = ActivityForm(self.request.POST)

    if self.request.method == 'POST' and form.validate():

      if Activity.get_by_activity_id(form.data['activity_id']):
        self.session.add_flash(messages.ACTIVITY_EXISTS,
                               level='error')
        return self.render_to_response('activity/form.haml', {'form': form})

      activity = Activity(activity_id=form.data['activity_id'],
                course_code=form.data['course_code'],
                activity_type=form.data['activity_type'],
                day=form.data['day'],
                time=form.data['time'],
                room=form.data['room'],
                parent=self.get_current_account())
      activity.put()

      self.session.add_flash(messages.ACTIVITY_CREATE_SUCCESS, level='info')
      return self.redirect_to('activity.list')

    self.session.add_flash(messages.ACTIVITY_CREATE_ERROR, level='error')
    return self.redirect_to('activity.list')
Ejemplo n.º 42
0
  def update_times(self, id):
    activity = Activity.get_by_id(int(id), parent=self.get_current_account())

    if not activity:
      return self.redirect_to('activity.list', messages.ACTIVITY_NOT_FOUND)

    form = ActivityTimeForm(self.request.POST, obj=activity)

    if self.request.method == 'POST' and form.validate():
      form.populate_obj(activity)
      activity.put()

      self.session.add_flash(messages.ACTIVITY_Times_SUCCESS)
      return self.redirect_to('activity.list')

    return self.render_to_response('activity/form.haml', {'form': form})
Ejemplo n.º 43
0
def render_board(board_id = None):
    '''board page'''
    board=Board.get(board_id)
    activity = Activity.get_all(board_id)
    try:
        show_card_id = request.args['show_card']
    except:
        show_card_id = -1

    if board == None:
        return render_template('404.html');
    else:
        return render_template('board.html', 
                                user=current_user, 
                                board=board, 
                                show_card_id=show_card_id,
                                lists = board.get_lists(),
                                activities = activity,
                                add_card_form = AddCardForm(),
                                add_list_form = AddListForm(),
                                edit_card_desc_form = EditCardDescForm(),
                                add_comment_form = AddCommentForm(),
                                add_board_form = AddBoardForm())
Ejemplo n.º 44
0
  def assign_assistant(self, id):
    activity = Activity.get_by_id(int(id), parent=self.get_current_account())

    if not activity:
      return self.redirect_to('activity.list', messages.ACTIVITY_NOT_FOUND)

    form = AssignAssistantForm(self.request.POST)

    if self.request.method == 'POST' and form.validate():

      assistant = Assistant.get_by_assistant_id(form.data['assistant_id'])

      if not assistant:
        return self.redirect_to('activity.list', messages.ASSIGN_ASSISTANT_NOT_FOUND)

      activity.assistant = assistant
      activity.put()

      self.session.add_flash(messages.ASSIGN_ASSISTANT_ASSIGN_SUCCESS)
      return self.redirect_to('activity.list')

    self.session.add_flash(messages.ASSIGN_ASSISTANT_ASSIGN_ERROR, level='error')
    return self.redirect_to('activity.list')
Ejemplo n.º 45
0
 def post(self, *args, **kwargs):
     uid = self.get_argument("uid", None)
     result = Activity.get_user_collect_acts(uid)
     self.write(self.make_result(1, "get user collect acts OK", result))
Ejemplo n.º 46
0
 def get_Activity(self):
   # This is not at the top to prevent circular imports.
   from models.activity import Activity
   return Activity.all().ancestor(self)
Ejemplo n.º 47
0
 def post(self, *args, **kwargs):
     cname = self.get_argument("cname", None)
     result = Activity.get_all_acts_by_club(cname)
     self.write(self.make_result(1, "get acts by club OK", result))
Ejemplo n.º 48
0
 def post(self, *args, **kwargs):
     Activity.reset()
     self.write(self.make_result(1, "activity reset OK", None))
Ejemplo n.º 49
0
 def post(self, *args, **kwargs):
     result = Activity.get_recommend_acts()
     self.write(self.make_result(1, "get recommend acts OK", result))