Esempio n. 1
0
def get_offer_list(folder_id = None):

    if folder_id is None:
        folders_query=Folder.list()
    else:
        folders_query = []
        f = Folder.get_by_id(int(folder_id))
        if f:
            folders_query.append(f)
    
    courses_query=Course.list_for_enroll()  

    folders= set([])
    courses = []
    result = []
    for course in courses_query:
        folders.add(course.folder_key)
        courses.append(course)

    logging.info(folders)
    logging.info(courses)

    for folder in folders_query:
        fk = str(folder.key())
        logging.info('fk:%s'%fk)
        if fk in folders:
            logging.info('in')
            sub_list = [c for c in courses if fk==c.folder_key] 
            result.append({'folder':folder, 'courses':sub_list })
            pass
    return result
Esempio n. 2
0
def delete(request, folder_id):

    folder  = Folder.get_by_id(int(folder_id))
    if folder is None:
        raise Http404

    folder.delete()
    rebuild_folders() 
    return redirect('../..')
Esempio n. 3
0
def edit(request, folder_id):

    folder  = Folder.get_by_id(int(folder_id))
    if folder is None:
        raise Http404

    if request.method == 'POST':
        form = FolderForm(request.POST, instance=folder)
        if form.is_valid():
            logging.info('edit folder before %s'% folder)
            form.save(commit=False)
            logging.info('edit folder after %s'% folder)
            folder.save()
            cdbsync.plan_cdb_put(folder)
            rebuild_folders()
            return redirect('../..')
    else:
        form = FolderForm(instance=folder)

    return render_to_response('admin/folders_edit.html', RequestContext(request, {'form':form}))