View difference between Paste ID: pAHWNtAN and
SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | class DecidedCase extends DataObject { |
2 | ||
3 | static $db = array( | |
4 | 'Type' => "Enum('Appeal,Complaint,Consent Order,High Court Judgement,Intermediate Merger,Interim Relief,Large Merger,Procedure')", | |
5 | 'Status' => "Enum('Undecided,Approved,Approved with Conditions,Declined')", | |
6 | 'Title' => 'Varchar', | |
7 | 'Number' => 'Varchar(64)', | |
8 | 'Applicant' => 'Text', | |
9 | 'Respondent' => 'Text', | |
10 | 'Rating' => 'Int(2)', | |
11 | 'Date' => 'Date', | |
12 | 'Time' => 'Time', | |
13 | 'Summary' => 'HTMLText', | |
14 | 'Keywords' => 'Text', | |
15 | 'Source' => 'Varchar' | |
16 | ); | |
17 | ||
18 | static $defaults = array( | |
19 | "Status" => 'Undecided', | |
20 | ); | |
21 | ||
22 | ||
23 | static $has_one = array( | |
24 | 'Document' => 'File', | |
25 | 'CaseHolder' => 'DecidedCaseHolder' | |
26 | ); | |
27 | ||
28 | static $searchable_fields = array( | |
29 | 'Number' => 'PartialMatchFilter', | |
30 | 'Date' => 'ExactMatchFilter', | |
31 | 'Title' => 'PartialMatchFilter', | |
32 | 'Type' => 'ExactMatchFilter', | |
33 | 'Status' => 'ExactMatchFilter', | |
34 | 'Applicant' => 'PartialMatchFilter', | |
35 | 'Respondent' => 'PartialMatchFilter', | |
36 | 'Summary' => 'PartialMatchFilter', | |
37 | 'Keywords' => 'PartialMatchFilter' | |
38 | ); | |
39 | ||
40 | static $summary_fields = array( | |
41 | 'Number', | |
42 | 'Date', | |
43 | 'Title', | |
44 | 'Applicant', | |
45 | 'Respondent', | |
46 | 'Type', | |
47 | 'Status', | |
48 | ); | |
49 | ||
50 | public static $default_sort = "Date DESC"; | |
51 | ||
52 | static $extensions = array( | |
53 | 'SphinxSearchable' | |
54 | ); | |
55 | ||
56 | static $sphinx = array( | |
57 | "mode" => "xmlpipe", | |
58 | "external_content" => array("file_content" => array("DecidedCase", "getDocumentContent")) | |
59 | ); | |
60 | ||
61 | function getDocumentContent($caseID) { | |
62 | $case = DataObject::get_by_id("DecidedCase", $caseID); | |
63 | if (!$case || !$case->Document()) return ""; | |
64 | return $case->Document()->extractFileAsText(); | |
65 | } | |
66 | ||
67 | function Link(){ | |
68 | $Holder = $this->CaseHolder(); | |
69 | $Link = $Holder->Link() . 'cases/' . $Type=strtolower(str_replace( " ", "-", $this->Type)) . '/retrieve_case/' . $this->ID; | |
70 | return $Link; | |
71 | } |