def ajax_getMyPartners(): if request.method == "GET": if not session: # 서버가 요청한 사람이 누군지 모르겠을때. session 딕셔너리변수에 사용자정보가 없음 return json.dumps(["로그인이 안되어서 응답을 못하겠습니다."]) elif session['email']: # session 딕셔너리변수에 사용자의 이메일 정보가 있을 경우. role = session['role'] email = session['email'] print "아잉" return getMyPartners(role, email)
def getAnnouncementNotes(role, userEmail): dResult = {} publisherEmail = userEmail ## 총 공통공지 개수를 저장하는 변수 total_common_announcement = 0 if role == 'parent': dMyPartners = json.loads(getMyPartners(role,userEmail)) currentClassTeacherEmail = "" for teacher in dMyPartners: if teacher['currentFriend']: publisherEmail = teacher['email'] break # for문을 통해 total_common_announcement의 개수를 세서 입력 for common_announcement in query_db('select * from common_announcement \ where publisher_email='+'\''+publisherEmail+'\''): total_common_announcement = total_common_announcement + 1 # dResult에 다음의 key들을 추가합니다. dResult['total_common_announcement'] = total_common_announcement dResult['num_of_article_per_request'] = 5 # dResult['page']를 구하기 위한 연산과정. request당 한 페이지, 한 페이지 당 5개 if (total_common_announcement % dResult['num_of_article_per_request']) != 0 : dResult['page'] = total_common_announcement / dResult['num_of_article_per_request'] + 1 else : dResult['page'] = total_common_announcement / dResult['num_of_article_per_request'] dResult['articles'] = [] # dResult['articles'] 에 쓸 내용 담기위해 dArticles 딕셔너리를 만들었어욧. dArticles = {} dArticles['individual_announcement'] = [] # cur_id 의 초기값을 -1로 합니다. cur_id = -1 # 현재 로그인 id가 session['email']이면 query_db의내용을 하나하나 불러옵니다 for common_announcement in query_db('select * from common_announcement where publisher_email='+'\''+publisherEmail+'\''): # 현재 individual_announcement의 id가 common_announcement의 id와 같으면 # individual_announcement를 append 합니다. indivisual_announcement_query = 'select * from individual_announcement where common_announcement_id='+str(common_announcement['id']) if role == 'parent': indivisual_announcement_query = indivisual_announcement_query + ' AND receiver_email=\''+session['email']+'\'' for individual_announcement in query_db(indivisual_announcement_query): dArticles['individual_announcement'].append(individual_announcement) # cur_id가 common_announcement['id']와 다르다면 # 즉 common_announcement의 loop가 충분히 돌아 다른 날짜의 글로 넘어갔다면 # 다음 내용들을 실행합니다. if cur_id != common_announcement['id']: dArticles['published_date'] = common_announcement['published_date'] dArticles['publisher_email'] = common_announcement['publisher_email'] dArticles['content'] = common_announcement['content'] dArticles['id'] = common_announcement['id'] dArticles['attached_file'] = common_announcement['attached_file'] # 앞의 내용들이 다 저장되었으면 최종적으로 dResult에 append 합니다 dResult['articles'].append(dArticles) # append 이후 dArticles 를 초기화합니다. dArticles = {} dArticles['individual_announcement'] = [] cur_id = common_announcement['id'] ## json.dumps() 함수안에 인자로 리스트나 딕셔너리를 넣어주면 ## JSON 스트링으로 바꿔준다. return json.dumps(dResult)