def get_relationship_type_dropdown(request): """ Get relationship type dropdown data. Should be an AJAX POST. :param request: Django request object (Required) :type request: :class:`django.http.HttpRequest` :returns: :class:`django.http.HttpResponse` """ if request.method == 'POST': if request.is_ajax(): dd_final = {} for type_ in RelationshipTypes.values(sort=True): dd_final[type_] = type_ result = {'types': dd_final} return HttpResponse(json.dumps(result), content_type="application/json") else: error = "Expected AJAX" return render_to_response("error.html", {"error" : error }, RequestContext(request)) else: error = "Expected POST" return render_to_response("error.html", {"error" : error }, RequestContext(request))
def get_relationship_type_dropdown(request): """ Get relationship type dropdown data. Should be an AJAX POST. :param request: Django request object (Required) :type request: :class:`django.http.HttpRequest` :returns: :class:`django.http.HttpResponse` """ if request.method == 'POST': if request.is_ajax(): dd_final = {} for type_ in RelationshipTypes.values(sort=True): dd_final[type_] = type_ result = {'types': dd_final} return HttpResponse(json.dumps(result), content_type="application/json") else: error = "Expected AJAX" return render_to_response("error.html", {"error": error}, RequestContext(request)) else: error = "Expected POST" return render_to_response("error.html", {"error": error}, RequestContext(request))
def add_new_relationship(request): """ Add a new relationship. Should be an AJAX POST. :param request: Django request object (Required) :type request: :class:`django.http.HttpRequest` :returns: :class:`django.http.HttpResponse` """ if request.method == 'POST' and request.is_ajax(): form = ForgeRelationshipForm(request.POST) choices = [(c, c) for c in RelationshipTypes.values(sort=True)] form.fields['forward_relationship'].choices = choices if form.is_valid(): cleaned_data = form.cleaned_data results = forge_relationship( type_=cleaned_data.get('forward_type'), id_=cleaned_data.get('forward_value'), right_type=cleaned_data.get('reverse_type'), right_id=cleaned_data.get('dest_id'), rel_type=cleaned_data.get('forward_relationship'), rel_date=cleaned_data.get('relationship_date'), user=request.user.username, rel_reason=cleaned_data.get('rel_reason'), rel_confidence=cleaned_data.get('rel_confidence'), get_rels=True) if results['success'] == True: relationship = { 'type': cleaned_data.get('forward_type'), 'value': cleaned_data.get('forward_value') } message = render_to_string( 'relationships_listing_widget.html', { 'relationship': relationship, 'nohide': True, 'relationships': results['relationships'] }, RequestContext(request)) result = {'success': True, 'message': message} else: message = "Error adding relationship: %s" % results['message'] result = {'success': False, 'message': message} else: message = "Invalid Form: %s" % form.errors form = form.as_table() result = {'success': False, 'form': form, 'message': message} return HttpResponse(json.dumps(result), content_type="application/json") else: error = "Expected AJAX POST" return render_to_response("error.html", {"error": error}, RequestContext(request))
def __init__(self, *args, **kwargs): super(ForgeRelationshipForm, self).__init__(*args, **kwargs) self.fields["forward_type"].choices = self.fields["reverse_type"].choices = [ (c, c) for c in sorted(settings.CRIPTS_TYPES.iterkeys()) ] self.fields["forward_relationship"].choices = [(c, c) for c in RelationshipTypes.values(sort=True)] self.fields["forward_relationship"].initial = RelationshipTypes.RELATED_TO self.fields["rel_confidence"].choices = [ ("unknown", "unknown"), ("low", "low"), ("medium", "medium"), ("high", "high"), ] self.fields["rel_confidence"].initial = "medium"
def __init__(self, *args, **kwargs): super(ForgeRelationshipForm, self).__init__(*args, **kwargs) self.fields['forward_type'].choices = self.fields['reverse_type'].choices = [ (c, c) for c in sorted(settings.CRIPTS_TYPES.iterkeys()) ] self.fields['forward_relationship'].choices = [ (c, c) for c in RelationshipTypes.values(sort=True) ] self.fields['forward_relationship'].initial = RelationshipTypes.RELATED_TO self.fields['rel_confidence'].choices = [('unknown', 'unknown'), ('low', 'low'), ('medium', 'medium'), ('high', 'high')] self.fields['rel_confidence'].initial = 'medium'
def add_new_relationship(request): """ Add a new relationship. Should be an AJAX POST. :param request: Django request object (Required) :type request: :class:`django.http.HttpRequest` :returns: :class:`django.http.HttpResponse` """ if request.method == 'POST' and request.is_ajax(): form = ForgeRelationshipForm(request.POST) choices = [(c,c) for c in RelationshipTypes.values(sort=True)] form.fields['forward_relationship'].choices = choices if form.is_valid(): cleaned_data = form.cleaned_data; results = forge_relationship(type_=cleaned_data.get('forward_type'), id_=cleaned_data.get('forward_value'), right_type=cleaned_data.get('reverse_type'), right_id=cleaned_data.get('dest_id'), rel_type=cleaned_data.get('forward_relationship'), rel_date=cleaned_data.get('relationship_date'), user=request.user.username, rel_reason=cleaned_data.get('rel_reason'), rel_confidence=cleaned_data.get('rel_confidence'), get_rels=True) if results['success'] == True: relationship = {'type': cleaned_data.get('forward_type'), 'value': cleaned_data.get('forward_value')} message = render_to_string('relationships_listing_widget.html', {'relationship': relationship, 'nohide': True, 'relationships': results['relationships']}, RequestContext(request)) result = {'success': True, 'message': message} else: message = "Error adding relationship: %s" % results['message'] result = {'success': False, 'message': message} else: message = "Invalid Form: %s" % form.errors form = form.as_table() result = {'success': False, 'form': form, 'message': message} return HttpResponse(json.dumps(result), content_type="application/json") else: error = "Expected AJAX POST" return render_to_response("error.html", {"error" : error }, RequestContext(request))
from django.conf import settings from django import forms from cripts.core import form_consts from cripts.core.forms import add_bucketlist_to_form, add_ticket_to_form from cripts.core.widgets import CalWidget from cripts.core.handlers import get_source_names, get_item_names from cripts.core.user_tools import get_user_organization from cripts.vocabulary.events import EventTypes from cripts.vocabulary.relationships import RelationshipTypes relationship_choices = [(c, c) for c in RelationshipTypes.values(sort=True)] class EventForm(forms.Form): """ Django form for creating a new Event. """ error_css_class = 'error' required_css_class = 'required' title = forms.CharField(widget=forms.TextInput, required=True) event_type = forms.ChoiceField(required=True, widget=forms.Select) description = forms.CharField(widget=forms.Textarea(attrs={ 'cols': '30', 'rows': '3' }), required=False) occurrence_date = forms.DateTimeField( widget=CalWidget(format=settings.PY_DATETIME_FORMAT,
from django.conf import settings from django import forms from cripts.core import form_consts from cripts.core.forms import add_bucketlist_to_form, add_ticket_to_form from cripts.core.widgets import CalWidget from cripts.core.handlers import get_source_names, get_item_names from cripts.core.user_tools import get_user_organization from cripts.vocabulary.events import EventTypes from cripts.vocabulary.relationships import RelationshipTypes relationship_choices = [(c, c) for c in RelationshipTypes.values(sort=True)] class EventForm(forms.Form): """ Django form for creating a new Event. """ error_css_class = "error" required_css_class = "required" title = forms.CharField(widget=forms.TextInput, required=True) event_type = forms.ChoiceField(required=True, widget=forms.Select) description = forms.CharField(widget=forms.Textarea(attrs={"cols": "30", "rows": "3"}), required=False) occurrence_date = forms.DateTimeField( widget=CalWidget( format=settings.PY_DATETIME_FORMAT, attrs={"class": "datetimeclass", "size": "25", "id": "id_occurrence_date"}, ), input_formats=settings.PY_FORM_DATETIME_FORMATS,