예제 #1
0
파일: views.py 프로젝트: boxed/forum
def edit(request, context_name, document_name):
    doc = Document.objects.get(context__name__iexact=context_name,
                               name__iexact=document_name)
    document_version = doc.versions.all().order_by('-pk')[0]
    # TODO:
    #   - on save, validate that no one has edited in the meantime
    return Form.create(
        auto__model=DocumentVersion,
        auto__exclude=['changed_time'],
        title=f'Edit {doc}',
        fields=dict(
            document=dict(
                initial=doc,
                editable=False,
                call_target__attribute='hidden',
            ),
            name__initial=document_version.name,
            content=dict(
                initial=document_version.content,
                attrs__style=dict(
                    height='40rem',
                    width='50rem',
                ),
            ),
            custom_data__initial=document_version.custom_data,
            version=dict(
                initial=document_version.version + 1,
                editable=False,
                call_target=Field.hidden,
            ),
        ),
        actions__submit__display_name='Save',
    )
예제 #2
0
 class BusyPage(Page):
     tfoo = Table(auto__model=TFoo,
                  page_size=5,
                  columns__name__filter=dict(include=True,
                                             field__include=True))
     tbar = Table(auto__model=TBar,
                  page_size=5,
                  columns__b__filter=dict(include=True,
                                          field__include=True))
     create_tbar = Form.create(auto__model=TBar)
예제 #3
0
def create(request):
    return Form.create(auto__model=Entry,
                       fields=dict(
                           creator__initial=request.user,
                           use_count__include=False,
                           approver__include=False,
                           created_at=dict(editable=False,
                                           initial=datetime.now()),
                           valid_to__initial=timezone.now() +
                           timedelta(days=30),
                       ))
예제 #4
0
def create_issue(request, project_name):
    project = Project.objects.get(name=project_name)

    def post_handler(form, **kwargs):
        result = create_object__post_handler(form=form, **kwargs)
        if form.is_valid():
            form.instance.comments = Room.objects.create(
                name=f'Issue comments {project}/{form.instance}',
                custom_data=f'issues/{project.pk}/{form.instance.pk}')
            form.instance.save()
        return result

    return Form.create(
        auto__model=Issue,
        auto__exclude=['time_created', 'last_changed_time', 'comments'],
        fields__project=Field.hidden(editable=False, initial=project),
        fields__last_changed_by=Field.hidden(editable=False,
                                             initial=request.user),
        actions__submit__post_handler=post_handler,
    )
예제 #5
0
def edit_album(request, artist, album):
    album = get_object_or_404(Album, name=album, artist__name=artist)
    return Form.edit(auto__instance=album)


def delete_album(request, artist, album):
    album = get_object_or_404(Album, name=album, artist__name=artist)
    return Form.delete(auto__instance=album)


# URLs -----------------------------

urlpatterns = [
    path('',
         IndexPage().as_view()),
    path(
        'albums/',
        AlbumTable(auto__model=Album,
                   columns__year__bulk__include=True).as_view()),
    path('albums/create/',
         Form.create(auto__model=Album).as_view()),
    path('artists/',
         ArtistTable(auto__model=Artist).as_view()),
    path('tracks/',
         TrackTable(auto__model=Track).as_view()),
    path('artist/<artist>/', artist_page),
    path('artist/<artist>/<album>/', album_page),
    path('artist/<artist>/<album>/edit/', edit_album),
    path('artist/<artist>/<album>/delete/', delete_album),
]
예제 #6
0
def test_get_wrapped_view_function():
    assert get_wrapped_view(view) is view
    assert get_wrapped_view(csrf_exempt(view)) is view
    get_wrapped_view(Form.create(auto__model=TFoo).as_view())
예제 #7
0
파일: urls.py 프로젝트: BrentGuttmann/iommi
    Table,
    Form,
)

from examples.models import (
    TFoo,
    Foo,
)
from iommi.admin import Admin

urlpatterns = [
    path('', views.index, name='index'),

    path('form_example_1/', views.form_example_1, name='example_1'),
    path('form_example_2/', views.form_example_2, name='example_2'),
    path('form_example_2b/', Form.create(auto__model=Foo).as_view(), name='example_2b'),
    path('form_example_3/', views.form_example_3, name='example_3'),
    path('form_example_4/', views.form_example_4, name='example_4'),
    path('form_example_5/', views.form_example_5, name='example_5'),
    path('form_kitchen/', views.form_kitchen),

    path('table_readme_example_1/', views.table_readme_example_1, name='readme_example_1'),
    path('table_readme_example_2/', views.table_readme_example_2, name='readme_example_2'),
    path('table_auto_example_1/', views.table_auto_example_1, name='readme_example_1'),
    path('table_auto_example_2/', views.table_auto_example_2, name='readme_example_2'),
    path('table_kitchen_sink/', views.table_kitchen_sink, name='kitchen_sink'),
    path('table_as_view/', Table(
        auto__model=TFoo,
        columns__a__bulk__include=True,
        bulk__actions__delete__include=True,
        extra_evaluated__report_name='example_download',
예제 #8
0
파일: form_examples.py 프로젝트: tltx/iommi
def form_example_4(request):
    return Form.create(auto__model=Artist)
예제 #9
0
파일: urls.py 프로젝트: boxed/forum
from django.urls import path
from iommi import Form

from . import views
from .models import (
    Project,
)

urlpatterns = [
    path('', views.view_project_list),
    path('create/', Form.create(auto__model=Project).as_view()),
    path('projects/<str:project_name>/', views.view_project),
    path('projects/<str:project_name>/create/', views.create_issue),
    path('projects/<str:project_name>/issues/<int:issue_pk>/', views.view_issue),
]
예제 #10
0
파일: urls.py 프로젝트: forksbot/iommi
)

from examples.models import (
    TFoo,
    Foo,
)
from iommi.admin import Admin

urlpatterns = [
    path('', views.index, name='index'),
    path('log_in/', views.log_in),
    path('log_out/', views.log_out),
    path('form_example_1/', views.form_example_1, name='example_1'),
    path('form_example_2/', views.form_example_2, name='example_2'),
    path('form_example_2b/',
         Form.create(auto__model=Foo).as_view(),
         name='example_2b'),
    path('form_example_3/', views.form_example_3, name='example_3'),
    path('form_example_4/', views.form_example_4, name='example_4'),
    path('form_example_5/', views.form_example_5, name='example_5'),
    path('form_kitchen/', views.form_kitchen),
    path('table_readme_example_1/',
         views.table_readme_example_1,
         name='readme_example_1'),
    path('table_readme_example_2/',
         views.table_readme_example_2,
         name='readme_example_2'),
    path('table_auto_example_1/',
         views.table_auto_example_1,
         name='readme_example_1'),
    path('table_auto_example_2/',