def item(_id): items = get_items_for_user_action([_id], 'items') if not items: return item = items[0] set_permissions(item, 'wire', False if flask.request.args.get('ignoreLatest') == 'false' else True) display_char_count = get_resource_service('ui_config').getSectionConfig('wire').get('char_count', False) if is_json_request(flask.request): return flask.jsonify(item) if not item.get('_access'): return flask.render_template('wire_item_access_restricted.html', item=item) previous_versions = get_previous_versions(item) template = 'wire_item.html' data = {'item': item} if 'print' in flask.request.args: if flask.request.args.get('monitoring_profile'): data.update(flask.request.view_args) template = 'monitoring_export.html' else: template = 'wire_item_print.html' update_action_list([_id], 'prints', force_insert=True) get_resource_service('history').create_history_record([item], 'print', get_user(), request.args.get('type', 'wire')) return flask.render_template( template, **data, previous_versions=previous_versions, display_char_count=display_char_count)
def render_403(err): if flask.request and is_json_request(flask.request): return flask.jsonify({ 'code': 403, 'error': str(err), 'info': getattr(err, 'description', None) }), 403 return flask.render_template('403.html'), 403
def edit(_id): if flask.request.args.get('context', '') == 'wire': items = get_items_for_user_action([_id], 'items') if not items: return item = items[0] if is_json_request(flask.request): return flask.jsonify(item) if 'print' in flask.request.args: assert flask.request.args.get('monitoring_profile') monitoring_profile = get_entity_or_404( flask.request.args.get('monitoring_profile'), 'monitoring') items = get_items_for_monitoring_report([_id], monitoring_profile, full_text=True) flask.request.view_args['date_items_dict'] = get_date_items_dict(items) flask.request.view_args['monitoring_profile'] = monitoring_profile flask.request.view_args['monitoring_report_name'] = app.config.get( 'MONITORING_REPORT_NAME', 'Newsroom') flask.request.view_args['print'] = True return wire_print(_id) profile = find_one('monitoring', _id=ObjectId(_id)) if not profile: return NotFound(gettext('monitoring Profile not found')) if flask.request.method == 'POST': form = MonitoringForm(monitoring=profile) if form.validate_on_submit(): updates = form.data request_updates = flask.request.get_json() # If the updates have anything other than 'users', only admin or monitoring_admin can update if len(request_updates.keys() ) == 1 and 'users' not in request_updates: user = get_user() if not is_admin(user): return jsonify({'error': 'Bad request'}), 400 company = get_entity_or_404(profile['company'], 'companies') if str(user['_id']) != str( company.get('monitoring_administrator')): return jsonify({'error': 'Bad request'}), 400 process_form_request(updates, request_updates, form) set_version_creator(updates) get_resource_service('monitoring').patch(ObjectId(_id), updates=updates) return jsonify({'success': True}), 200 return jsonify(form.errors), 400 return jsonify(profile), 200
def item(_id): item = get_entity_or_404(_id, 'agenda') if is_json_request(flask.request): return flask.jsonify(item) if 'print' in flask.request.args: template = 'agenda_item_print.html' update_action_list([_id], 'prints', force_insert=True) return flask.render_template(template, item=item) data = get_view_data() data['item'] = item return flask.render_template('agenda_index.html', data=data, title=item.get('name', item.get('headline')))
def item(_id): item = get_entity_or_404(_id, 'items') set_permissions(item) if is_json_request(flask.request): return flask.jsonify(item) if not item.get('_access'): return flask.render_template('wire_item_access_restricted.html', item=item) previous_versions = get_previous_versions(item) if 'print' in flask.request.args: template = 'wire_item_print.html' update_action_list([_id], 'prints', force_insert=True) else: template = 'wire_item.html' return flask.render_template(template, item=item, previous_versions=previous_versions)
def item(_id): item = get_entity_or_404(_id, 'agenda') user = get_user() company = get_user_company(user) if not is_admin_or_internal(user): item.get('event', {}).pop('files', None) planning_items = item.get('planning_items', []) [item.pop('internal_note', None) for item in planning_items] coverages = item.get('coverages', []) [c.get('planning', {}).pop('internal_note', None) for c in coverages] item.get('event', {}).pop('internal_note', None) if company and not is_admin(user) and company.get('events_only', False): # if the company has permission events only permission then # remove planning items and coverages. if not item.get('event'): # for adhoc planning items abort the request flask.abort(403) item.pop('planning_items', None) item.pop('coverages', None) if is_json_request(flask.request): return flask.jsonify(item) if 'print' in flask.request.args: map = flask.request.args.get('map') template = 'agenda_item_print.html' update_action_list([_id], 'prints', force_insert=True) return flask.render_template( template, item=item, map=map, dateString=get_agenda_dates(item), location=get_location_string(item), contacts=get_public_contacts(item), links=get_links(item), is_admin=is_admin_or_internal(user) ) data = get_view_data() data['item'] = item return flask.render_template('agenda_index.html', data=data, title=item.get('name', item.get('headline')))
def item(_id): item = get_entity_or_404(_id, 'items') set_permissions(item, 'media_releases') display_char_count = get_resource_service('ui_config').getSectionConfig('media_releases').get('char_count', False) if is_json_request(flask.request): return flask.jsonify(item) if not item.get('_access'): return flask.render_template('wire_item_access_restricted.html', item=item) previous_versions = get_previous_versions(item) if 'print' in flask.request.args: template = 'wire_item_print.html' update_action_list([_id], 'prints', force_insert=True) else: template = 'wire_item.html' return flask.render_template( template, item=item, previous_versions=previous_versions, display_char_count=display_char_count)
def render_404(err): if flask.request and is_json_request(flask.request): return flask.jsonify({'code': 404}), 404 return flask.render_template('404.html'), 404