コード例 #1
0
ファイル: views.py プロジェクト: Ibercivis/epiwork-website
def X_get_health_history(request, survey):
    results = []
    cursor = connection.cursor()
    params = { 'user_id': request.user.id }
    queries = {
        'sqlite':"""
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, pollster_results_weekly W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = :user_id
             ORDER BY W.timestamp""",
        'mysql':"""
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, pollster_results_weekly W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = :user_id
             ORDER BY W.timestamp""",
        'postgresql':"""
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, pollster_results_weekly W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = %(user_id)s
             ORDER BY W.timestamp""",
    }
    cursor.execute(queries[utils.get_db_type(connection)], params)
    results = cursor.fetchall()
    for ret in results:
        timestamp, global_id, status = ret
        survey_user = models.SurveyUser.objects.get(global_id=global_id)
        yield {'global_id': global_id, 'timestamp': timestamp, 'status': status, 'diag':_decode_person_health_status(status), 'survey_user': survey_user}
コード例 #2
0
ファイル: views.py プロジェクト: pfhm/hrpt
def _get_health_history(request, survey):
    results = []
    cursor = connection.cursor()
    params = {"user_id": request.user.id}
    queries = {
        "sqlite": """
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, pollster_results_weekly W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = :user_id
             ORDER BY W.timestamp""",
        "mysql": """
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, pollster_results_weekly W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = :user_id
             ORDER BY W.timestamp""",
        "postgresql": """
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, pollster_results_weekly W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = %(user_id)s
             ORDER BY W.timestamp""",
    }
    cursor.execute(queries[utils.get_db_type(connection)], params)
    results = cursor.fetchall()
    for ret in results:
        timestamp, global_id, status = ret
        yield {
            "global_id": global_id,
            "timestamp": timestamp,
            "status": status,
            "diag": _decode_person_health_status(status),
        }
コード例 #3
0
ファイル: views.py プロジェクト: Ibercivis/epiwork-website
def X_get_person_health_status(request, survey, global_id):

    logger.debug('_get_person_health_status')

    # habria que revisar request.user.id
    data = survey.get_last_participation_data(request.user.id)
    status = None
    if data:
        cursor = connection.cursor()
        params = { 'weekly_id': data["id"] }
        queries = {
            'sqlite':"""
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = :weekly_id""",
            'mysql':"""
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = :weekly_id""",
            'postgresql':"""
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = %(weekly_id)s"""
        }
        cursor.execute(queries[utils.get_db_type(connection)], params)
        status = cursor.fetchone()[0]
    return (status, _decode_person_health_status(status))
コード例 #4
0
def _get_person_health_status(request, survey, global_id):
    data = survey.get_last_participation_data(request.user.id, global_id)
    status = None
    if data:
        cursor = connection.cursor()
        params = {'weekly_id': data["id"]}
        queries = {
            'sqlite':
            """
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = :weekly_id""",
            'mysql':
            """
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = :weekly_id""",
            'postgresql':
            """
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = %(weekly_id)s"""
        }
        cursor.execute(queries[utils.get_db_type(connection)], params)
        result = cursor.fetchone()
        status = result[0] if result else None
    return (status, _decode_person_health_status(status))
コード例 #5
0
def _get_person_is_female(global_id):
    try:
        cursor = connection.cursor()
        queries = {
            'sqlite':"""SELECT Q1 FROM pollster_results_intake WHERE global_id = %s""",
            'mysql':"""SELECT `Q1` FROM pollster_results_intake WHERE `global_id` = %s""",
            'postgresql':"""SELECT "Q1" FROM pollster_results_intake WHERE "global_id" = %s""",
        }
        cursor.execute(queries[utils.get_db_type(connection)], [global_id,])
        return cursor.fetchone()[0] == 1 # 0 for male, 1 for female
    except:
        return None
コード例 #6
0
def _get_person_is_female(global_id, table="pollster_results_intake"):
    try:
        cursor = connection.cursor()
        queries = {
            'sqlite':
            """SELECT Q1 FROM """ + table + """ WHERE global_id = %s""",
            'mysql':
            """SELECT `Q1` FROM """ + table + """ WHERE `global_id` = %s""",
            'postgresql':
            """SELECT "Q1" FROM """ + table + """ WHERE "global_id" = %s""",
        }
        cursor.execute(queries[utils.get_db_type(connection)], [
            global_id,
        ])
        return cursor.fetchone()[0] == 1  # 0 for male, 1 for female
    except:
        return None
コード例 #7
0
def _get_health_history(request, survey, table="pollster_results_weekly"):
    results = []
    cursor = connection.cursor()
    params = {'user_id': request.user.id}
    queries = {
        'sqlite':
        """
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, """ + table + """ W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = :user_id
             ORDER BY W.timestamp DESC""",
        'mysql':
        """
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, """ + table + """ W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = :user_id
             ORDER BY W.timestamp DESC""",
        'postgresql':
        """
            SELECT W.timestamp, W.global_id, S.status
              FROM pollster_health_status S, """ + table + """ W
             WHERE S.pollster_results_weekly_id = W.id
               AND W.user = %(user_id)s
             ORDER BY W.timestamp DESC""",
    }
    cursor.execute(queries[utils.get_db_type(connection)], params)

    results = cursor.fetchall()
    for ret in results:
        timestamp, global_id, status = ret
        survey_user = models.SurveyUser.objects.get(global_id=global_id)
        yield {
            'global_id': global_id,
            'timestamp': timestamp,
            'status': status,
            'diag': _decode_person_health_status(status),
            'survey_user': survey_user
        }
コード例 #8
0
ファイル: views.py プロジェクト: pfhm/hrpt
def _get_person_health_status(request, survey, global_id):
    data = survey.get_last_participation_data(request.user.id, global_id)
    status = None
    if data:
        cursor = connection.cursor()
        params = {"weekly_id": data["id"]}
        queries = {
            "sqlite": """
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = :weekly_id""",
            "mysql": """
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = :weekly_id""",
            "postgresql": """
            SELECT S.status
              FROM pollster_health_status S
             WHERE S.pollster_results_weekly_id = %(weekly_id)s""",
        }
        cursor.execute(queries[utils.get_db_type(connection)], params)
        status = cursor.fetchone()[0]
    return (status, _decode_person_health_status(status))