def postNewRule(request): #Modification.objects.all().delete() #Rule.objects.all().delete() if request.is_ajax(): if request.method == 'POST': jdata = json.loads(request.raw_post_data) print jdata # if jdata['rules'][0]['scope'] == 'this_place': # filteredRuleSet = RuleSet.objects.filter(userId=jdata['userName']).filter(\ # appliesTo=jdata['urn']).filter(name=jdata['ruleSetName']) # elif jdata['rules'][0]['scope'] == 'this_entity': # print "this_entity" # elif jdata['rules'][0]['scope'] == 'this_place': # print "all_places" filteredRuleSet = RuleSet.objects.filter(userId=jdata['userName']).filter(\ appliesTo=jdata['urn']).filter(name=jdata['ruleSetName']) if filteredRuleSet and filteredRuleSet.count() == 1: filteredModifications = Modification.objects.filter(userId=jdata['userName']).filter(\ modification_type=jdata['rules'][0]['modifications'][0]['modification_type']).filter(\ dateTime=jdata['rules'][0]['modifications'][0]['dateTime']) found = False for rule in filteredRuleSet[0].rules.all(): if (rule.appliesTo == jdata['urn'] and rule.action == \ jdata['rules'][0]['action'] and rule.scope == jdata['rules'][0]['scope'] \ and rule.token == jdata['rules'][0]['token']): found = True if not filteredModifications and not found: m = Modification() m.userId = jdata['userName'] m.modification_type = jdata['rules'][0]['modifications'][ 0]['modification_type'] m.dateTime = jdata['rules'][0]['modifications'][0][ 'dateTime'] m.save() r = Rule() r.appliesTo = jdata['urn'] r.action = jdata['rules'][0]['action'] r.scope = jdata['rules'][0]['scope'] r.token = jdata['rules'][0]['token'] r.save() r.modifications.add(m) filteredRuleSet[0].rules.add(r) else: print "error: filteredModifications OR filteredRules" else: print "error: filteredRuleSet" return HttpResponse("OK")
def postNewRule(request): #Modification.objects.all().delete() #Rule.objects.all().delete() if request.is_ajax(): if request.method == 'POST': jdata = json.loads(request.raw_post_data) print jdata # if jdata['rules'][0]['scope'] == 'this_place': # filteredRuleSet = RuleSet.objects.filter(userId=jdata['userName']).filter(\ # appliesTo=jdata['urn']).filter(name=jdata['ruleSetName']) # elif jdata['rules'][0]['scope'] == 'this_entity': # print "this_entity" # elif jdata['rules'][0]['scope'] == 'this_place': # print "all_places" filteredRuleSet = RuleSet.objects.filter(userId=jdata['userName']).filter(\ appliesTo=jdata['urn']).filter(name=jdata['ruleSetName']) if filteredRuleSet and filteredRuleSet.count() == 1: filteredModifications = Modification.objects.filter(userId=jdata['userName']).filter(\ modification_type=jdata['rules'][0]['modifications'][0]['modification_type']).filter(\ dateTime=jdata['rules'][0]['modifications'][0]['dateTime']) found = False for rule in filteredRuleSet[0].rules.all(): if (rule.appliesTo == jdata['urn'] and rule.action == \ jdata['rules'][0]['action'] and rule.scope == jdata['rules'][0]['scope'] \ and rule.token == jdata['rules'][0]['token']): found = True if not filteredModifications and not found: m = Modification() m.userId = jdata['userName'] m.modification_type = jdata['rules'][0]['modifications'][0]['modification_type'] m.dateTime = jdata['rules'][0]['modifications'][0]['dateTime'] m.save() r = Rule() r.appliesTo = jdata['urn'] r.action = jdata['rules'][0]['action'] r.scope = jdata['rules'][0]['scope'] r.token = jdata['rules'][0]['token'] r.save() r.modifications.add(m) filteredRuleSet[0].rules.add(r) else: print "error: filteredModifications OR filteredRules" else: print "error: filteredRuleSet" return HttpResponse("OK")