Beispiel #1
0
def create_resource_from_suggestion(request, suggestion_id):

    user = request.user
    suggestion = get_object_or_404(SuggestResource, id=suggestion_id)
    output = {}

    user_data = additional_user_info(request)

    resource = Resource(title=suggestion.title,
                        link=suggestion.link,
                        abstract=suggestion.abstract,
                        created_by=request.user)
    resource.save()

    for tag in suggestion.keywords.split(','):
        keyword = Keyword(content_object=resource,
                          text=tag.strip(),
                          user_recomendation=True)
        keyword.save()

    suggestion.status = 1
    suggestion.save()

    output['alert'] = _("Resource created.")
    output['alerttype'] = "alert-success"

    return redirect('main.views.create_edit_resource', resource_id=resource.id)
Beispiel #2
0
def frontend_urls(request):
    """
        Our javascript needs a global dictionary of url templates like:

            FRONTEND_URLS = {
                'reorder_section_node': '/casebooks/_CASEBOOK_ID/sections/_SECTION_ORDINALS/reorder/_CHILD_ORDINALS/'
            }

        These can't be generated directly from reverse() because reverse('reorder_section_node', args=['_CASEBOOK_ID', ...])
        doesn't resolve -- we need to pass in args as ints or ordinals or Casebook instances or whatever.

        This function calls reverse() with valid inputs for each url template we need, and then replaces the strings
        in the resulting url with the desired placeholders.
    """
    global _frontend_urls
    if not _frontend_urls:
        urls_in = {
            # key: [url_name, reverse_args, strings, placeholders]
            'reorder_section_node': [
                'reorder_node', [1, "2", "3"], ["1", "2", "3"],
                ['_CASEBOOK_ID', '_SECTION_ORDINALS', '_CHILD_ORDINALS']
            ],
            'reorder_casebook_node': [
                'reorder_node', [1, "2"], ["1", "2"],
                ['_CASEBOOK_ID', '_CHILD_ORDINALS']
            ],
            'new_section_or_resource':
            ['new_section_or_resource', [1], ["1"], ['$CASEBOOK_ID']],
            'search': ['search', [], [], []],
            'new_casebook': ['new_casebook', [], [], []],
            'section':
            ['section', [1, "2"], ["1", "2"], ['CASEBOOK_ID', 'SECTION_ID']],
            'casebook': ['casebook', [1], ["1"], ['_ID']],
            'export_casebook': [
                'export', [Casebook(id=1), "docx"], ["1", "docx"],
                ['_ID', '_FORMAT']
            ],
            'export_section': [
                'export', [Section(id=1), "docx"], ["1", "docx"],
                ['_ID', '_FORMAT']
            ],
            'export_resource': [
                'export', [Resource(id=1), "docx"], ["1", "docx"],
                ['_ID', '_FORMAT']
            ],
        }
        urls_out = {}
        for key, [url_name, reverse_args, strings,
                  placeholders] in urls_in.items():
            url = reverse(url_name, args=reverse_args)
            for string, placeholder in zip(strings, placeholders):
                url = url.replace(str(string), placeholder, 1)
            urls_out[key] = url
        _frontend_urls = mark_safe(json.dumps(urls_out))
    return {'frontend_urls': _frontend_urls}
Beispiel #3
0
 def _resources_from_paths(paths):
     paths = [
         os.readlink(path) if os.path.islink(path) else path
         for path in paths
     ]
     exists = list(
         Resource.objects.filter(path__in=paths).values_list('path',
                                                             flat=True))
     needs_create = list(set(paths).difference(exists))
     paths = []
     return [Resource(path=p) for p in needs_create]
Beispiel #4
0
from main import db, create_app
from main.models import (Resource, Users)

app = create_app()
app.app_context().push()

db.drop_all()
db.create_all()

resource = Resource()
resource.ResName = "hello"

db.session.add(resource)
db.session.commit()

user = Users()
user.username = "******"
user.age = 22
db.session.add(user)
db.session.commit()

user = Users()
user.username = "******"
user.age = 21
db.session.add(user)
db.session.commit()