Ejemplo n.º 1
0
def load_mine(json):
    page = json.get('gr_data')['paginationOptions']['pageNumber'] if json.get('gr_data') else 1
    pageSize = json.get('gr_data')['paginationOptions']['pageSize'] if json.get('gr_data') else 25
    search_text = json.get('gr_data')['search_text'] if json.get('gr_data') else None
    params = {'user_id': g.user_dict['id']}
    if json.get('gr_data'):
        params['sort'] = {}
        params['filter'] = {}
        if json.get('gr_data')['sort']:
            for n in json.get('gr_data')['sort']:
                params['sort'][n] = json.get('gr_data')['sort'][n]
        if json.get('gr_data')['filter']:
            for b in json.get('gr_data')['filter']:
                if json.get('gr_data')['filter'][b] != '-- all --':
                    params['filter'][b] = json.get('gr_data')['filter'][b]
    subquery = ArticleCompany.subquery_user_articles(search_text=search_text,**params)
    articles, pages, current_page = pagination(subquery,
                                               page=page, items_per_page=pageSize)
    add_param = {'value': '1', 'label': '-- all --'}
    statuses = Article.list_for_grid_tables(ARTICLE_STATUS_IN_COMPANY.all, add_param, False)
    company_list_for_grid = Article.list_for_grid_tables(ArticleCompany.get_companies_where_user_send_article(g.user_dict['id']), add_param, True)
    articles_drid_data = Article.getListGridDataArticles(articles.all())
    grid_filters = {'company': company_list_for_grid,'status': statuses}
    return {'grid_data': articles_drid_data,
            'grid_filters': grid_filters,
            'total': subquery.count()}