コード例 #1
0
ファイル: views.py プロジェクト: toladata/TolaWork
def login_view(request):
    """Login a User"""

    form = form_data(request)
    login(request)

    return render(request, "registration/login.html", {'form':form})
コード例 #2
0
ファイル: views.py プロジェクト: toladata/TolaWork
def create_task(request):
    
    created_by = request.user
    assignable_users = User.objects.filter(is_active=True).order_by(User.USERNAME_FIELD)

    if request.method == 'POST':
        title = request.POST.get('task')
        submitter_mail = request.POST.get('submitter_mail')
        status = request.POST.get('status')
        priority = request.POST.get('priority')
        project_agreement = request.POST.get('project_agreement')
        table = request.POST.get('table')
        due_date = datetime.strptime(request.POST.get('due_date'), "%Y-%m-%d")
        created_date = datetime.strptime(request.POST.get('created_date'),"%Y-%m-%d")
        created_by = request.POST.get('created_by')
        assigned_to = request.POST.get('assigned_to')
        note = request.POST.get('note')

        task = Task(task=title, submitter_email=submitter_mail, status=status, priority=priority, 
            due_date=due_date, created_date=created_date,created_by_id=created_by, assigned_to_id=assigned_to, 
            project_agreement=project_agreement, table=table, note=note)
        task.save()
    form = form_data(request)

    tasks = Task.objects.all()
    return render_to_response('tasks/task_index.html',
        RequestContext(request, {
        	'tasks':Task.objects.all().order_by('created_date').reverse,
            'assignable_users': assignable_users,
            'created_by': created_by,
            'form': form
            
        }))
コード例 #3
0
ファイル: views.py プロジェクト: toladata/TolaWork
def task_list(request):

    # Query_params will hold a dictionary of parameters relating to
    # a query, to be saved if needed:

    created_by = request.user
    assignable_users = User.objects.filter(is_active=True).order_by(User.USERNAME_FIELD)
    context = {}

    tasks = Task.objects.select_related()
    ## sorting tasks
    sort = request.GET.get('sort', None)
    if sort:
        tasks = Task.objects.all().order_by(sort)

    ## Keyword searching
    q = request.GET.get('q', None)

    if q:
        tasks = Task.objects.filter(
            Q(task__icontains=q) |
            Q(due_date__icontains=q) |
            Q(created_date__icontains=q) |
            Q(status__icontains=q)|
            Q(priority__icontains=q)
            
                   )
    ## Task Filtering
    statuses = request.GET.getlist('status')
    if statuses:
        try:
            statuses = [int(s) for s in statuses]
            tasks = Task.objects.filter(status=s
                )
            print tasks
        except ValueError:
            pass

    form = form_data(request)
    tolaActivityData = {}
    tolaTablesData = {}
    if request.user.is_authenticated():
        tolaActivityData = get_TolaActivity_byUser(request)
        tolaTablesData = get_TolaTables_data(request)

    return render_to_response('tasks/task_index.html',
        RequestContext(request, {
        'tasks': tasks.order_by('created_date').reverse,
        'assignable_users': assignable_users,
        'created_by': created_by,
        'status_choices':Task.STATUS_CHOICES, 
        'form' : form,
        'tolaActivityData': tolaActivityData,
        'tolaTablesData': tolaTablesData

        }))
コード例 #4
0
ファイル: views.py プロジェクト: toladata/TolaWork
def documentation(request):
    """
    Get Documentation and display them on template
    """

    getDocumentation = DocumentationApp.objects.all()

    form = form_data(request)

    return render(request, 'documentation.html', {'getDocumentation': getDocumentation, 'form':form})
コード例 #5
0
ファイル: views.py プロジェクト: toladata/TolaWork
def faq(request):
    """
    Get FAQ and display them on template
    """

    getFAQ = FAQ.objects.all()

    form = form_data(request)

    return render(request, 'faq.html', {'getFAQ': getFAQ, 'form':form})
コード例 #6
0
ファイル: views.py プロジェクト: toladata-ce/TolaWork
def faq(request):
    """
    Get FAQ and display them on template
    """

    getFAQ = FAQ.objects.all()

    form = form_data(request)

    return render(request, 'faq.html', {'getFAQ': getFAQ, 'form': form})
コード例 #7
0
ファイル: blog.py プロジェクト: toladata/TolaWork
def index(request, entry=0):

    temp = Hackpad('tola',settings.HACKPAD_CLIENT_ID,settings.HACKPAD_SECRET)
    my_hackpads = temp.list_all()

    if entry ==0:
        entry = my_hackpads[0]

    next = my_hackpads[0]
    previous = my_hackpads[-1]
    form = form_data(request)

    return render_to_response('blog/base.html',RequestContext(request, {'hackpad': my_hackpads, 'entry': entry, 'previous':previous, 'next':next, 'form':form }))
コード例 #8
0
ファイル: views.py プロジェクト: toladata-ce/TolaWork
def documentation(request):
    """
    Get Documentation and display them on template
    """

    getDocumentation = DocumentationApp.objects.all()

    form = form_data(request)

    return render(request, 'documentation.html', {
        'getDocumentation': getDocumentation,
        'form': form
    })
コード例 #9
0
def task(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    task_state = get_object_or_404(Task, id=task_id)
    assignable_users = User.objects.filter(is_active=True).order_by(User.USERNAME_FIELD)
    form = form_data(request)

    return render_to_response('tasks/task.html',
        RequestContext(request, {
            'task': task_state,
            'form': form,
            'assignable_users': assignable_users,
            'status_choices':Task.STATUS_CHOICES, 
            'priority': Task.PRIORITY_CHOICES,
            't_status_choices': Ticket.STATUS_CHOICES
        }))
コード例 #10
0
ファイル: views.py プロジェクト: toladata/TolaWork
def contact(request):
    """
    Feedback form
    """
    form = FeedbackForm(initial={'submitter': request.user})

    if request.method == 'POST':
        form = FeedbackForm(request.POST)  # A form bound to the POST data
        if form.is_valid():  # All validation rules pass
            form.save()
            messages.error(request, 'Thank you', fail_silently=False)
        else:
            messages.error(request, 'Invalid', fail_silently=False)
            print form.errors

    form = form_data(request)
    return render(request, "contact.html", {'form': form, 'helper': FeedbackForm.helper, 'form':form})
コード例 #11
0
ファイル: views.py プロジェクト: toladata-ce/TolaWork
def contact(request):
    """
    Feedback form
    """
    form = FeedbackForm(initial={'submitter': request.user})

    if request.method == 'POST':
        form = FeedbackForm(request.POST)  # A form bound to the POST data
        if form.is_valid():  # All validation rules pass
            form.save()
            messages.error(request, 'Thank you', fail_silently=False)
        else:
            messages.error(request, 'Invalid', fail_silently=False)
            print form.errors

    form = form_data(request)
    return render(request, "contact.html", {
        'form': form,
        'helper': FeedbackForm.helper,
        'form': form
    })
コード例 #12
0
def index(request, entry=0):

    temp = Hackpad('tola', settings.HACKPAD_CLIENT_ID, settings.HACKPAD_SECRET)
    my_hackpads = temp.list_all()

    if entry == 0:
        entry = my_hackpads[0]

    next = my_hackpads[0]
    previous = my_hackpads[-1]
    form = form_data(request)

    return render_to_response(
        'blog/base.html',
        RequestContext(
            request, {
                'hackpad': my_hackpads,
                'entry': entry,
                'previous': previous,
                'next': next,
                'form': form
            }))
コード例 #13
0
ファイル: views.py プロジェクト: toladata-ce/TolaWork
def login_view(request):
    """Login a User"""

    form = form_data(request)
    password = username = error_message = ''

    if request.POST:
        username = request.POST['username']
        password = request.POST['password']

        logged_user = authenticate(username=username, password=password)
        if logged_user is not None:
            if logged_user.is_active:
                login(request, user)
                return HttpResponseRedirect('/home')
            error_message = 'You are profile Status is inactive. Contact the admin.'
        error_message = 'Kindly confirm your Credentials (Both Username and Password are case sensitive).'
        return render(request, "registration/login.html", {
            'form': form,
            'error_message': error_message
        })

    login(request)
    return render(request, "registration/login.html", {'form': form})
コード例 #14
0
ファイル: views.py プロジェクト: toladata-ce/TolaWork
def home(request):

    tickets = Ticket.objects.all().values('status').annotate(
        total=Count('status')).order_by('total')

    recent_tickets = Ticket.objects.all().exclude(
        status__in='4').order_by('-created')[:5]
    votes_tickets = Ticket.objects.all().exclude(status__in='4').filter(
        type=2).order_by('-votes')[:5]
    num_tickets = len(Ticket.objects.filter(status__in=[1, 2, 3]))

    closed_resolved = 0
    assigned_to_me = 0
    created_by_me = 0
    closed = []
    tome = []
    byme = []
    num_tasks = 0
    recent_tasks = []
    tasks_created = []
    total_tasks_created = 0
    tasks_assigned = []
    total_tasks_assigned = 0
    tasks_completed = []
    total_tasks_completed = 0
    if (request.user.is_authenticated()):
        #tickets
        # open & reopened tickets
        closedresolved = Ticket.objects.select_related('queue').filter(
            assigned_to=request.user,
            status__in=[Ticket.CLOSED_STATUS, Ticket.RESOLVED_STATUS],
        )
        closed = (closedresolved).order_by('-created')[:5]
        closed_resolved = len(closedresolved)

        # Tickets assigned to current user
        assigned_tome = Ticket.objects.select_related('queue').filter(
            assigned_to=request.user, ).exclude(
                status__in=[Ticket.CLOSED_STATUS, Ticket.RESOLVED_STATUS], )
        tome = (assigned_tome).order_by('-created')[:5]
        assigned_to_me = len(assigned_tome)

        # Tickets created by current user
        created_byme = Ticket.objects.select_related('queue').filter(
            submitter_email=request.user.email, ).exclude(
                status__in=[Ticket.CLOSED_STATUS, Ticket.RESOLVED_STATUS], )
        byme = (created_byme).order_by('-created')[:5]

        created_by_me = len(created_byme)

        #Tasks
        tasks = Task.objects.filter(created_by=request.user)

        #tasks created by user
        tasks_created = (tasks).exclude(
            status__in=([3, 4])).order_by('created_date')
        total_tasks_created = len(tasks_created)

        #tasks assigned to the user
        tasks_assigned = Task.objects.filter(
            assigned_to_id=request.user).exclude(
                status__in=([3, 4])).order_by('created_date')
        total_tasks_assigned = len(tasks_assigned)

        #tasks completed by the user
        tasks_completed = (tasks).filter(
            status__in='3').order_by('created_date')
        total_tasks_completed = len(tasks_completed)

        #recent tasks
        recent_tasks = Task.objects.filter(
            Q(created_by=request.user) | Q(assigned_to=request.user)).exclude(
                status__in=([3, 4])).order_by('created_date')
        num_tasks = recent_tasks.count

    #create ticket modal
    assignable_users = User.objects.filter(is_active=True).order_by(
        User.USERNAME_FIELD)

    form = form_data(request)

    users = get_current_users()

    return render(request, 'home.html', {'home_tab': 'active', 'tickets': tickets, \
                                         'recent_tickets': recent_tickets,'votes_tickets': votes_tickets, 'num_tickets': num_tickets, 'recent_tasks': recent_tasks, \
                                         'closed_resolved': closed_resolved,'assigned_to_me':assigned_to_me,'created_by_me':created_by_me,\
                                         'closed':closed,'tome':tome,'byme':byme, 'tasks_created': tasks_created, 'tasks_assigned': tasks_assigned, \
                                          'num_tasks': num_tasks, 'total_tasks_created': total_tasks_created, \
                                        'total_tasks_assigned': total_tasks_assigned, 'tasks_completed': tasks_completed, 'total_tasks_completed': total_tasks_completed,\
                                         'logged_users':users, 'form':form, 'helper':form.helper})
コード例 #15
0
ファイル: views.py プロジェクト: toladata-ce/TolaWork
                assigned_to_id=user_id).exclude(
                    status__in=([3, 4])).order_by('created_date')
            tasks_assigned = all_tasks_assigned.reverse
            total_tasks_assigned = len(all_tasks_assigned)

            #tasks completed by the user
            all_tasks_completed = (tasks).filter(
                status__in='3').order_by('created_date')
            tasks_completed = all_tasks_completed.reverse
            total_tasks_completed = len(all_tasks_completed)

        except Exception, e:
            pass

    logged_users = logged_in_users(request)
    form = form_data(request)

    return render(request, "user.html", {'all_tickets': all_tickets,'total_tickets': total_tickets, \
                                        'logged_users': logged_users, 'username': username,'tickets_created': tickets_created, 'total_tickets_created':total_tickets_created, \
                                        'tickets_assigned': tickets_assigned, 'total_tickets_assigned': total_tickets_assigned, 'tickets_closed_resolved': tickets_closed_resolved, \
                                        'total_tickets_closed_resolved': total_tickets_closed_resolved,'tasks_created': tasks_created, 'tasks_assigned': tasks_assigned, \
                                        'total_tasks': total_tasks, 'total_tasks_created': total_tasks_created,'total_tasks_assigned': total_tasks_assigned, 'tasks_completed': tasks_completed,\
                                         'total_tasks_completed': total_tasks_completed, 'form': form})


def home(request):

    tickets = Ticket.objects.all().values('status').annotate(
        total=Count('status')).order_by('total')

    recent_tickets = Ticket.objects.all().exclude(
コード例 #16
0
ファイル: views.py プロジェクト: toladata/TolaWork
            #tasks assigned to the user
            tasks_assigned = Task.objects.filter(assigned_to_id=user_id).exclude(status__in=([3,4])).order_by('created_date')[:5]
            total_tasks_assigned = len(tasks_assigned)

            #tasks completed by the user
            tasks_completed = (tasks).filter(status__in='3').order_by('created_date')[:5]
            total_tasks_completed = len (tasks_completed)

        except Exception, e:
            pass  



    logged_users = logged_in_users(request)
    form = form_data(request)

    return render(request, "user.html", {'all_tickets': all_tickets,'total_tickets': total_tickets, 'all_tasks': all_tasks, \
                                        'logged_users': logged_users, 'username': username,'tickets_created': tickets_created, 'total_tickets_created':total_tickets_created, \
                                        'tickets_assigned': tickets_assigned, 'total_tickets_assigned': total_tickets_assigned, 'tickets_closed_resolved': tickets_closed_resolved, \
                                        'total_tickets_closed_resolved': total_tickets_closed_resolved,'tasks_created': tasks_created, 'tasks_assigned': tasks_assigned, \
                                        'total_tasks': total_tasks, 'total_tasks_created': total_tasks_created,'total_tasks_assigned': total_tasks_assigned, 'tasks_completed': tasks_completed,\
                                         'total_tasks_completed': total_tasks_completed, 'form': form})

def home(request):

    #Ping Tola servers
    activity_up = os.system("ping -c 1 " + "http://tola-activity.mercycorps.org")
    data_up = os.system("ping -c 1 " + "http://tola-tables.mercycorps.org")

    #GitHub releases for status
コード例 #17
0
def task_list(request):

    # Query_params 
    query_params = {
        'filtering': {},
        'sorting': None,
        'keyword': None,
        'other_filter': None,
        'sortreverse': True,
        }


    tasks = Task.objects.filter(Q(created_by = request.user) | Q(assigned_to = request.user)).exclude(status__in = [ 4])
    task_obj = Task.objects.filter(Q(created_by = request.user) | Q(assigned_to = request.user)).exclude(status__in = [4])
    assignable_users = User.objects.filter(is_active=True).order_by(User.USERNAME_FIELD)
    context = {}

   
    ## sorting tasks
    sort_tasks(request,query_params)

    #searching
    search_tasks(request, context, query_params)

    ## Task Filtering
        #status
    statuses = request.GET.getlist('status')
    if statuses:
        try:
            statuses = [int(s) for s in statuses]
            query_params['filtering']['status__in'] = statuses
        except ValueError:
            pass

        #priorities
    priorities = request.GET.getlist('priority')
    if priorities:
        try:
            priorities = [int(p) for p in priorities]
            query_params['filtering']['priority__in'] = priorities
        except ValueError:
            pass

        #Assigned to
    assigned = request.GET.getlist('assigned_to')
    if assigned:
        try:
            assigned = [int(a) for a in assigned]
            query_params['filtering']['assigned_to__id__in'] = assigned
        except ValueError:
            pass

        #Due Dates
    due_from = request.GET.get('due_from')
    if due_from:
        query_params['filtering']['due_date__gte'] = due_from

    due_to = request.GET.get('due_to')
    if due_to:
        query_params['filtering']['due_date__lte'] = due_to

        #Created dates       
    created_from = request.GET.get('created_from')
    if created_from:
        query_params['filtering']['created_date__gte'] = created_from

    created_to = request.GET.get('created_to')
    if created_to:
        query_params['filtering']['created_date__lte'] = created_to
    

    form = form_data(request)
    tolaActivityData = {}
    tolaTablesData = {}
    tasks_assigned = {}
    tasks_created = {}
    total_tasks_assigned = 0
    total_tasks_created = 0

    if request.user.is_authenticated():
        tolaActivityData = get_TolaActivity_byUser(request)
        tolaTablesData = get_TolaTables_data(request)
    # User tasks
    tasks_created = Task.objects.filter(created_by = request.user).exclude(status__in = '4')
    total_tasks_created = len(tasks_created)

    created = request.GET.get('created')
    if created:
        tasks = tasks_created

    #assigned_to
    tasks_assigned = Task.objects.filter(assigned_to = request.user).exclude(status__in = '4')
    total_tasks_assigned = len(tasks_assigned) 

    assigned = request.GET.get('assigned')
    if assigned:
        tasks = tasks_assigned


    try:
        tasks = apply_query(tasks, query_params)
        if query_params['filtering']:
            tasks = apply_query(task_obj, query_params)


    except ValidationError:
        # invalid parameters in query, return default query
        query_params = {
            'filtering': {'status__in': [1, 2,3]},
            'sorting': 'created_date',
        }
        tasks = apply_query(task_obj, query_params)

    querydict = request.GET.copy()

    return render_to_response('tasks/task_index.html',
        RequestContext(request, {
        'query_string': querydict.urlencode(),
        'query': request.GET.get('q'),
        'tasks': tasks.reverse(),
        'query_params': query_params,
        'tasks_assigned': tasks_assigned,
        'total_tasks': len(tasks),
        'tasks_created': tasks_created,
        'total_tasks_created': total_tasks_created,
        'total_tasks_assigned': total_tasks_assigned,
        'assignable_users': assignable_users,
        'status_choices':Task.STATUS_CHOICES, 
        'priority': Task.PRIORITY_CHOICES,
        'form' : form,
        'tolaActivityData': tolaActivityData,
        'tolaTablesData': tolaTablesData,
        't_status_choices': Ticket.STATUS_CHOICES

        }))