Esempio n. 1
0
def news_categories_json():
    columns = []
    columns.append(ColumnDT('news_category_id', filter=_default_value))
    columns.append(ColumnDT('news_category_name', filter=_default_value))
    columns.append(ColumnDT('count_news', filter=_default_int))
    columns.append(ColumnDT('count_views', filter=_default_int))
    columns.append(ColumnDT('count_votes', filter=_default_int))
    columns.append(ColumnDT('count_comments', filter=_default_int))
    query = db.session.query(ViewNewsCategory)
    rowTable = DataTables(request, ViewNewsCategory, query, columns)
    a = rowTable.output_result()
    for row in a['aaData']:
        row_id = row['0']
        row['1'] = "<a href='" + url_for('news.list_all_by_category',
                                         id=row_id) + "'>" + row['1'] + "</a>"
        last_columns = str(len(columns))
        manage_html = """
            <a href="{edit_category}">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
            </a>
            <a href="{delete_category}">
                <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
            </a>
        """
        row[last_columns] = manage_html.format(
            edit_category=url_for('admin.edit_news_category', cat_id=row_id),
            delete_category=url_for('admin.delete_category', cat_id=row_id))
    return jsonify(**a)
Esempio n. 2
0
def news_categories_json():
    columns = []
    columns.append(ColumnDT('news_category_id', filter=_default_value))
    columns.append(ColumnDT('news_category_name', filter=_default_value))
    columns.append(ColumnDT('count_news', filter=_default_int))
    columns.append(ColumnDT('count_views', filter=_default_int))
    columns.append(ColumnDT('count_votes', filter=_default_int))
    columns.append(ColumnDT('count_comments', filter=_default_int))
    query = db.session.query(ViewNewsCategory)
    rowTable = DataTables(request, ViewNewsCategory, query, columns)
    a = rowTable.output_result()
    for row in a['aaData']:
        row_id = row['0']
        row['1'] = "<a href='"+url_for('news.list_all_by_category', id=row_id)+"'>"+row['1']+"</a>"
        last_columns = str(len(columns))
        manage_html = """
            <a href="{edit_category}">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
            </a>
            <a href="{delete_category}">
                <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
            </a>
        """
        row[last_columns] = manage_html.format(
            edit_category = url_for('admin.edit_news_category', cat_id=row_id),
            delete_category = url_for('admin.delete_category', cat_id=row_id))
    return jsonify(**a)
Esempio n. 3
0
def s_news_json():
    columns = list()
    columns.append(ColumnDT('news_id', filter=_default_value))
    columns.append(ColumnDT('news_title', filter=_default_value))  # 1
    columns.append(ColumnDT('user_full_name', filter=_default_value))  # 2
    columns.append(ColumnDT('news_category_name', filter=_default_value))  # 3
    #
    columns.append(ColumnDT('users_id', filter=_default_value))  # 4
    columns.append(ColumnDT('news_category_id', filter=_default_value))  # 5
    query = db.session.query(ViewNews)
    rowTable = DataTables(request, ViewNews, query, columns)
    a = rowTable.output_result()
    for i in a['aaData']:
        row_id = i['0']
        i['1'] = "<a href='" + url_for('news.news_one',
                                       id=int(row_id)) + "'>" + i['1'] + "</a>"
        i['2'] = "<a href='" + url_for('user.profile', user_id=int(
            i['4'])) + "'>" + i['2'] + "</a>"
        if i['5'] == 'None':
            i['3'] = "-"
        else:
            i['3'] = "<a href='" + url_for('news.list_all_by_category',
                                           id=i['5']) + "'>" + i['3'] + "</a>"
        last_columns = str(4)
        last_columns = str(len(columns))
        manage_html = """Edit Delete"""
        i[last_columns] = manage_html.format()
    return jsonify(**a)
Esempio n. 4
0
def s_news_json():
    columns = list()
    columns.append(ColumnDT('news_id', filter=_default_value))
    columns.append(ColumnDT('news_title', filter=_default_value))# 1
    columns.append(ColumnDT('user_full_name', filter=_default_value))# 2
    columns.append(ColumnDT('news_category_name', filter=_default_value))# 3
    #
    columns.append(ColumnDT('users_id', filter=_default_value))# 4
    columns.append(ColumnDT('news_category_id', filter=_default_value))# 5
    query = db.session.query(ViewNews)
    rowTable = DataTables(request, ViewNews, query, columns)
    a = rowTable.output_result()
    for i in a['aaData']:
        row_id = i['0']
        i['1'] = "<a href='"+url_for('news.news_one', id=int(row_id))+"'>"+i['1']+"</a>"
        i['2'] = "<a href='"+url_for('user.profile', user_id=int(i['4']))+"'>"+i['2']+"</a>"
        if i['5'] == 'None':
            i['3'] = "-"
        else:
            i['3'] = "<a href='"+url_for('news.list_all_by_category', id=i['5'])+"'>"+i['3']+"</a>"
        last_columns = str(4)
        last_columns = str(len(columns))
        manage_html = """Edit Delete"""
        i[last_columns] = manage_html.format()
    return jsonify(**a)
Esempio n. 5
0
def dep_users_json(dep_id):
    columns = []
    columns.append(ColumnDT('id', filter=_default_value))
    columns.append(ColumnDT('full_name', filter=_default_value))
    columns.append(ColumnDT('email', filter=_default_value))
    columns.append(ColumnDT('login', filter=_default_value))
    columns.append(ColumnDT('mobile_phone', filter=_default_value))
    columns.append(ColumnDT('inner_phone', filter=_default_value))
    query = db.session.query(User).filter_by(department_id=dep_id)
    rowTable = DataTables(request, User, query, columns)
    json_result = rowTable.output_result()
    departments = Department.get_all()
    for row in json_result['aaData']:
        row_id = row['0']
        last_columns = str(len(columns))
        dep_html = ''
        for dep in departments:
            sel = 'selected' if dep.id == dep_id else ''
            dep_html += "<option value='"+str(dep.id)+"/"+row_id+"' "+sel+">"+dep.name+"</option>"
        manage_html = """
          <select onchange="change_user_dep(this.value)" id="first-disabled" class="selectpicker" data-hide-disabled="true" data-live-search="true" data-width="200px">
            <optgroup label="Доп возможности">
              <option value="0/"""+row_id+"""">Удалить из отдела</option>
            </optgroup>
            <optgroup label="Отделы">"""+dep_html+"""</optgroup>
          </select>
          <script type="text/javascript">$('.selectpicker').selectpicker({style: 'btn-default',size: 5});</script>
          """
        row[last_columns] = manage_html
        src_foto = ''
        user = User.get_by_id(row_id)
        if user.photo:
            src_foto = user.photo.get_url('thumbnail')
        else:
            src_foto = '/static/img/no_photo.jpg'
        row['1'] = """<img src="{src}" class="foto-small-struct">""".format(src = src_foto) + "<a href='"+url_for('user.profile')+"/"+row_id+"'>"+row['1']+"</a>"
        head_dep = str(len(columns)+1)
        if Department.is_user_head(dep_id, int(row_id)):
            checked = "checked"
        else:
            checked = ''
        row[head_dep] = "<input onclick='change_head_dep(this, "+str(dep_id)+", "+row_id+")' type='checkbox' id='head_check' "+checked+">"
    return jsonify(**json_result)
Esempio n. 6
0
def users_search_json():
    columns = list()
    columns.append(ColumnDT('users_id', filter=_default_value_view))
    columns.append(ColumnDT('users_full_name', filter=_default_value_view))
    columns.append(ColumnDT('users_login', filter=_empty))
    columns.append(ColumnDT('users_email', filter=_empty))
    columns.append(ColumnDT('users_status', filter=_empty))
    columns.append(ColumnDT('users_mobile_phone', filter=_empty))
    columns.append(ColumnDT('users_inner_phone', filter=_empty))
    columns.append(ColumnDT('users_birth_date', filter=_empty))
    columns.append(ColumnDT('users_skype', filter=_empty))
    columns.append(ColumnDT('users_position', filter=_empty))
    columns.append(ColumnDT('department_name', filter=_default_value_view))
    columns.append(ColumnDT('photo_url', filter=_default_value_view))
    return jsonify(**DataTables(request, ViewUsers4Search,
                                db.session.query(ViewUsers4Search),
                                columns).output_result())
Esempio n. 7
0
def s_users_json():
    columns = list()
    columns.append(ColumnDT('id', filter=_default_value))
    columns.append(ColumnDT('full_name', filter=_default_value))
    columns.append(ColumnDT('email', filter=_default_value))
    columns.append(ColumnDT('login', filter=_default_value))
    columns.append(ColumnDT('mobile_phone', filter=_default_value))
    columns.append(ColumnDT('inner_phone', filter=_default_value))
    columns.append(ColumnDT('status', filter=_status))

    query = db.session.query(User)
    rowTable = DataTables(request, User, query, columns)
    json_result = rowTable.output_result()

    current_user = auth.service.get_user()
    disabled = ''
    if not current_user.is_admin and ('set_permissions' not in current_user.get_permissions()):
        disabled = 'disabled'

    for row in json_result['aaData']:
        row_id = row['0']
        row['1'] = "<a href='"+url_for('user.profile')+"/"+row_id+"'>"+row['1']+"</a>"
        last_col = len(columns) - 1

        # Permission
        last_col += 1
        per_columns = str(last_col)
        per_options = ""
        permissions = Permission.get_all()
        set_per = User.get_user_permissions_id(row_id)
        for per in permissions:
            sel = ''
            sel = 'selected' if per.id in set_per else ''
            per_options += "<option value='"+str(per.id)+"' "+sel+">"+per.title+"</option>"
        per_html = """
          <select onchange="change_user_per("""+row_id+""", this)" class="selectpicker" multiple data-selected-text-format="count>1" data-width="170px" """+disabled+""">
            """+per_options+"""
          </select>
          <script type="text/javascript">$('.selectpicker').selectpicker({style: 'btn-default',size: 5});</script>
          """
        row[per_columns] = per_html

        # Roles
        last_col += 1
        roles_columns = str(last_col)
        roles = Role.get_all()
        role_options = ''
        sel_role = User.get_user_role_id(row_id)
        for role in roles:
            sel = ''
            sel = 'selected' if role.id == sel_role else ''
            role_options += "<option value='"+str(role.id)+"/"+row_id+"' "+sel+">"+role.name+"</option>"
        sel = ''
        sel = 'selected' if 0 == sel_role else ''
        role_options += "<option value='0/"+row_id+"' "+sel+">admin</option>"
        role_html = """
          <select onchange="change_user_role(this.value)" class="selectpicker" data-width="110px" """+disabled+""">
            """+role_options+"""
          </select>
          <script type="text/javascript">$('.selectpicker').selectpicker({style: 'btn-default',size: 5});</script>
          """
        row[roles_columns] = role_html

        # Manage
        last_col += 1
        last_columns = str(last_col)
        manage_html = """
            <a href="javascript: user.activate({0})">
                <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
            </a>
            <a href="{1}">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
            </a>
            <a href="javascript: user.delete({0})">
                <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
            </a>
        """.format(
            row_id,
            url_for('admin.edit_user', id=row_id)
        )
        row[last_columns] = manage_html

    return jsonify(**json_result)