Example #1
0
    def test_saving_and_retrieving_items(self):
        list_ = List()
        list_.save()

        first_item = Item()
        first_item.text = 'The first (ever) list item'
        first_item.list = list_
        first_item.save()

        second_item = Item()
        second_item.text = 'Item the second'
        second_item.list = list_
        second_item.save()

        saved_list = List.objects.first()
        self.assertEqual(saved_list, list_)

        saved_items = Item.objects.all()
        self.assertEqual(saved_items.count(), 2)

        first_saved_item = saved_items[0]
        second_saved_item = saved_items[1]
        self.assertEqual(first_saved_item.text, 'The first (ever) list item')
        self.assertEqual(first_saved_item.list, list_)
        self.assertEqual(second_saved_item.text, 'Item the second')
        self.assertEqual(second_saved_item.list, list_)
Example #2
0
def new(request):

	item = Item()
	item.created = datetime.datetime.now()
	item.content = request.POST["todo"]
	item.save()
	return HttpResponseRedirect("/")
Example #3
0
def new_todo(request):

    if request.method == 'GET':
        return render(request, 'new-todo.html')

    if request.method == 'POST':
        todo_name = request.POST.get('todo_name')
        todo_description = None

        if request.user.is_authenticated():
            if request.POST.get('todo_description'):
                todo_description = request.POST.get('todo_description')
            
            t = Item(name=todo_name, description=todo_description, user=request.user)
            t.save()
            messages.add_message(request, messages.INFO, 'Todo added!')
                
            return redirect('/')
            
        else:
            todo_description = request.POST.get('todo_description')
            #request.session['todo_name'] = todo_name
            #request.session['todo_description'] = todo_description
            messages.add_message(request, messages.INFO, 'Todo added as anonymous user!')
            
            return redirect('/')
Example #4
0
def new_todo(request):

    if request.method == 'GET':
        return render(request, 'new-todo.html')

    if request.method == 'POST':
        todo_name = request.POST.get('todo_name')
        todo_description = None

        if request.user.is_authenticated():
            if request.POST.get('todo_description'):
                todo_description = request.POST.get('todo_description')

            t = Item(name=todo_name,
                     description=todo_description,
                     user=request.user)
            t.save()
            messages.add_message(request, messages.INFO, 'Todo added!')

            return redirect('/')

        else:
            todo_description = request.POST.get('todo_description')
            #request.session['todo_name'] = todo_name
            #request.session['todo_description'] = todo_description
            messages.add_message(request, messages.INFO,
                                 'Todo added as anonymous user!')

            return redirect('/')
Example #5
0
def add_item(request):
    try:
        item = Item(title=request.POST['title'])
    except KeyError:
        return HttpResponseRedirect(reverse('todo.views.index'))
    else:
        item.save()
        return HttpResponseRedirect(reverse('todo.views.index'))
Example #6
0
def add(request, id):
    list = get_object_or_404(List, pk=id)
    if list.user != request.user:
            return HttpResponseForbidden("Not authorized!")
    item = Item(description=request.POST['item'])
    item.list = list
    item.save()
    # Redirect to the list
    return HttpResponseRedirect(reverse('todo.views.detail', args=(list.id,)))
Example #7
0
 def save(self,user):
     get = self.cleaned_data.get
     item = Item(title=get('title'),
                 due_date=get('due_date'),
                 list=List.objects.get(pk=get('list')),
                 created_by=user,
                 assigned_to=user,
                 )
     item.save()
     return item
Example #8
0
def index2(request):
    # return render(request, 'index1.html', {
    #    'new_item_text': request.POST['item_text'],
    # })
    item = Item()
    item.text = request.POST.get("item_text", "")
    item.save()

    # return render(request, 'index1.html', {
    #    'new_item_text': request.POST.get('item_text', ''),
    # })
    return render(request, "index1.html", {"new_item_text": item.text})
Example #9
0
def MatchItems(workingList):
    Tasks = getExternalTasks(getFeed(workingList))
    for task in Tasks:
        """ http://www.djangoproject.com/documentation/models/get_or_create/ """
        #item = Item.objects.get(list=workingList, ext_id=task.find("id").text)
        if Item.objects.filter(list=workingList, ext_id=task.find("id").text).count() > 0:
            #print "%s %s objekt obstaja"
            """ let's update objects """
            update(Item.objects.get(list=workingList, ext_id=task.find("id").text))
        else:
            print "%s %s ne obstaja" % (task.find("id").text, task.find("description").text)
            ## FIXME!! FIXME!! FIXME!!
            #task.find("due").text
            #created_date=task.find("created-at").text,
            #
            #
            
            """ 
            FIXME: This is borken way, just pr0f of concept; that's why we expect
            auth.user with username = "******". Workaround will be needed
                
            TODO: at the moment inseting
                
            due_date=task.find("due").text into new objects
                
            brakes smtg, because of br0ken string in source or
            smtg.
            """
            
            user = User.objects.all().order_by('id')[0]
            
            new = Item(title=task.find("description").text,list = workingList, 
                       created_date=task.find("created-at").text, created_by=user, 
                       assigned_to=user, priority=999)
            
            ## Some debugging about date
            print "0: %s " % (new.title)
            print "1: %s\t\t%s" % (task.find("due").text, new.due_date)
            print "2: %s\t\t%s" % (task.find("created-at").text, new.created_date)
            
            """ 
            FIXME:  when saved create_date will be changed to now(), since
            default self.save method is defined that way. In future we might 
            need a workaround
            """
            
            new.save()
Example #10
0
def list_detail(request, list_id):
	
	if request.method == 'POST':
		form = newItemForm(request.POST)
		if form.is_valid():
			i = Item(
				title = form.cleaned_data['todo_name'],
				created_date = datetime.datetime.now(),
				priority = form.cleaned_data['priority'],
				completed = False,
				todo_list = List.objects.get(pk=list_id)
			)
			i.save()
			return HttpResponseRedirect('/list/%s' % list_id)		# Redirect after POST

	# Below code is executed if form was not submitted OR if the form was invalid
	return render(request, 'list_detail.html', {'todo_list': List.objects.get(pk=list_id), 'newItem_form': newItemForm()})
Example #11
0
    def test_saving_and_retrieving_items(self):
        first_item = Item()
        first_item.text = "Купить бочку апельсинов"
        first_item.save()

        second_item = Item()
        second_item.text = "Грузить апельсины бочками"
        second_item.save()

        saved_items = Item.objects.all()
        self.assertEqual(saved_items.count(), 2)

        first_saved_item = saved_items[0]
        second_saved_item = saved_items[1]
        self.assertEqual(first_saved_item.text, "Купить бочку апельсинов")
        self.assertEqual(second_saved_item.text, "Грузить апельсины бочками")
def todos(request, user_id):
	#this should never happen, but if it does, sign out the 
	# user immediately
	if int(user_id) != request.user.id:
		return HttpResponseRedirect('/users/sign_out/')
	if request.method == "POST":
		new_item = ItemForm(request.POST)
		if new_item.is_valid():
			data = new_item.cleaned_data
			item = Item()
			item.title = data['title']
			item.date = data['date']
			item.user_id = request.user.id
			item.save();
			return HttpResponseRedirect('')
		else:
			return HttpResponseRedirect(new_item.errors)
	else:
		try:
			item_list = sort_items_by_date(user_id)[0]
		except Item.DoesNotExist:
			raise Http404
		return render(request, 'index.html', {'item_list':item_list, 'new_item_form':ItemForm()})
Example #13
0
def create_list_view():
    list_ = List().save()
    item_content = request.form.get('item')
    Item(content=item_content, list=list_).save()
    return redirect(url_for('detail_list_view', list_id=list_.id))
Example #14
0
 def post(self, request):
     item = Item()
     item.user = request.user
     self.request_to_item(request, item)
     item.save()
     return serialize(item)
Example #15
0
    for t in ActiveCronTask:

        period = t.period

        #对于每天执行任务, 非节假日每天创建任务

        if period == 'day':

            if todayisholiday:
                continue

            for u in t.assigned_to.all():
                try:
                    GetUser = User.objects.get(username=u.username)

                    crontask = Item(title=t.title, type=t.type, tasktype=4, status=1,
                         created_by=GetUser, assigned_to=GetUser, priority=t.priority)
                    crontask.save()
                except:
                    continue

        else:

            #对于周和月处理逻辑, 先判断是否是第一天
            if Is_First_Day(period):

                #如果是第一天, 对于周判断未来7天是否有都是节假日, 如果都是节假日,则继续
                weekisholiday = Is_Holiday(currentweek)
                if period == 'weekday' and weekisholiday:

                    continue
Example #16
0
def new_entry(request, redirect):
    """View function for renewing a specific BookInstance by librarian."""

    # If this is a POST request then process the Form data
    if request.method == 'POST':

        # Create a form instance and populate it with data from the request (binding):
        form = NewEntryForm(request.POST)

        # Check if the form is valid:
        if form.is_valid():
            entry_instance = Item()
            # process the data in form.cleaned_data as required
            entry_instance.title                = form.cleaned_data["title"]
            entry_instance.created_date         = datetime.datetime.now()
            entry_instance.priority             = form.cleaned_data["priority"]
            entry_instance.completed            = False
            entry_instance.todo_list            = form.cleaned_data["todo_list"]
            entry_instance.estimation           = form.cleaned_data["estimation"]
            entry_instance.remaining_estimation = form.cleaned_data["estimation"]            
            entry_instance.save()

            # redirect to a new URL:
            return HttpResponseRedirect(reverse(redirect))

    # If this is a GET (or any other method) create the default form.
    else:
        form = NewEntryForm(initial={"priority": 2})
        
    context = {
        'form': form,
    }

    return render(request, 'new_entry.html', context)
Example #17
0
        #对于每天执行任务, 非节假日每天创建任务

        if period == 'day':

            if todayisholiday:
                continue

            for u in t.assigned_to.all():
                try:
                    GetUser = User.objects.get(username=u.username)

                    crontask = Item(title=t.title,
                                    type=t.type,
                                    tasktype=4,
                                    status=1,
                                    created_by=GetUser,
                                    assigned_to=GetUser,
                                    priority=t.priority)
                    crontask.save()
                except:
                    continue

        else:

            #对于周和月处理逻辑, 先判断是否是第一天
            if Is_First_Day(period):

                #如果是第一天, 对于周判断未来7天是否有都是节假日, 如果都是节假日,则继续
                weekisholiday = Is_Holiday(currentweek)
                if period == 'weekday' and weekisholiday:
Example #18
0
def detail_list_view(list_id):
    list_ = session.query(List).filter(List.id == list_id).one()
    if request.method == 'POST':
        item_content = request.form.get('item')
        Item(content=item_content, list=list_).save()
    return render_template('list.html', list=list_)